Print this page
7388 Support DHCP Client FQDN. Allow IAID/DUID for all v4.
*** 19,28 ****
--- 19,29 ----
* 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,94 ****
--- 86,96 ----
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,109 ****
--- 102,112 ----
#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,153 ****
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);
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 *);
--- 146,156 ----
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 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,193 ****
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 *,
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 *,
--- 186,196 ----
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_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 *,