Print this page
Commit IPMP changes
@@ -19,10 +19,11 @@
* CDDL HEADER END
*/
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
*/
#ifndef _IPMGMT_IMPL_H
#define _IPMGMT_IMPL_H
@@ -47,38 +48,37 @@
/* ipmgmt_util.c */
extern void ipmgmt_log(int, const char *, ...);
extern int ipmgmt_cpfile(const char *, const char *, boolean_t);
/* ipmgmt_persist.c */
+extern boolean_t ipmgmt_persist_if_exists(const char *, sa_family_t);
+extern void ipmgmt_get_group_interface(const char *, char *, size_t);
/*
* following are the list of DB walker callback functions and the callback
* arguments for each of the callback functions used by the daemon
*/
/* following functions take 'ipmgmt_prop_arg_t' as the callback argument */
extern db_wfunc_t ipmgmt_db_getprop, ipmgmt_db_resetprop;
/* following functions take ipadm_dbwrite_cbarg_t as callback argument */
-extern db_wfunc_t ipmgmt_db_add, ipmgmt_db_update;
+extern db_wfunc_t ipmgmt_db_add, ipmgmt_db_update, ipmgmt_db_update_if;
typedef struct {
char *cb_ifname;
- ipadm_if_info_t *cb_ifinfo;
-} ipmgmt_getif_cbarg_t;
-extern db_wfunc_t ipmgmt_db_getif;
-
-typedef struct {
char *cb_aobjname;
- char *cb_ifname;
nvlist_t *cb_onvl;
int cb_ocnt;
-} ipmgmt_getaddr_cbarg_t;
+} ipmgmt_get_cbarg_t;
+extern db_wfunc_t ipmgmt_db_getif;
extern db_wfunc_t ipmgmt_db_getaddr;
typedef struct {
sa_family_t cb_family;
char *cb_ifname;
+ boolean_t cb_ipv4exists;
+ boolean_t cb_ipv6exists;
} ipmgmt_if_cbarg_t;
extern db_wfunc_t ipmgmt_db_setif, ipmgmt_db_resetif;
typedef struct {
char *cb_aobjname;
@@ -169,10 +169,12 @@
scf_value_t *sr_val;
scf_transaction_t *sr_tx;
scf_transaction_entry_t *sr_ent;
} scf_resources_t;
+extern int ipmgmt_update_family_nvp(nvlist_t *,
+ sa_family_t, uint_t);
extern int ipmgmt_db_walk(db_wfunc_t *, void *, ipadm_db_op_t);
extern int ipmgmt_aobjmap_op(ipmgmt_aobjmap_t *, uint32_t);
extern boolean_t ipmgmt_aobjmap_init(void *, nvlist_t *, char *,
size_t, int *);
extern int ipmgmt_persist_aobjmap(ipmgmt_aobjmap_t *,