Print this page
7388 Support DHCP Client FQDN. Allow IAID/DUID for all v4.
@@ -19,10 +19,11 @@
* CDDL HEADER END
*/
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
*/
#ifndef _LIBIPADM_IMPL_H
#define _LIBIPADM_IMPL_H
@@ -85,10 +86,11 @@
boolean_t ipadm_stateful;
} ipadm_ipv6_intfid_s;
struct {
boolean_t ipadm_primary;
int32_t ipadm_wait;
+ char ipadm_reqhost[MAXNAMELEN];
} ipadm_dhcp_s;
} ipadm_addr_u;
};
#define ipadm_static_addr ipadm_addr_u.ipadm_static_addr_s.ipadm_addr
@@ -100,10 +102,11 @@
#define ipadm_intfidlen ipadm_addr_u.ipadm_ipv6_intfid_s.ipadm_intfidlen
#define ipadm_stateless ipadm_addr_u.ipadm_ipv6_intfid_s.ipadm_stateless
#define ipadm_stateful ipadm_addr_u.ipadm_ipv6_intfid_s.ipadm_stateful
#define ipadm_primary ipadm_addr_u.ipadm_dhcp_s.ipadm_primary
#define ipadm_wait ipadm_addr_u.ipadm_dhcp_s.ipadm_wait
+#define ipadm_reqhost ipadm_addr_u.ipadm_dhcp_s.ipadm_reqhost
/*
* Data structures and callback functions related to property management
*/
struct ipadm_prop_desc;
@@ -143,11 +146,11 @@
nvlist_t **);
extern ipadm_status_t i_ipadm_init_ifobj(ipadm_handle_t, const char *,
nvlist_t *);
extern ipadm_status_t i_ipadm_init_addrobj(ipadm_handle_t, nvlist_t *);
extern ipadm_status_t i_ipadm_addr_persist(ipadm_handle_t,
- const ipadm_addrobj_t, boolean_t, uint32_t);
+ const ipadm_addrobj_t, boolean_t, uint32_t, const char *);
extern ipadm_status_t i_ipadm_delete_addr(ipadm_handle_t, ipadm_addrobj_t);
extern int i_ipadm_strioctl(int, int, char *, int);
extern boolean_t i_ipadm_is_loopback(const char *);
extern boolean_t i_ipadm_is_vni(const char *);
extern boolean_t i_ipadm_is_ipmp(ipadm_handle_t, const char *);
@@ -183,11 +186,11 @@
const void *);
/* ipadm_addr.c */
extern void i_ipadm_init_addr(ipadm_addrobj_t, const char *,
const char *, ipadm_addr_type_t);
-extern ipadm_status_t i_ipadm_merge_prefixlen_from_nvl(nvlist_t *, nvlist_t *,
+extern ipadm_status_t i_ipadm_merge_addrprops_from_nvl(nvlist_t *, nvlist_t *,
const char *);
extern ipadm_status_t i_ipadm_get_addrobj(ipadm_handle_t, ipadm_addrobj_t);
extern ipadm_status_t i_ipadm_enable_static(ipadm_handle_t, const char *,
nvlist_t *, sa_family_t);
extern ipadm_status_t i_ipadm_enable_dhcp(ipadm_handle_t, const char *,