Lines Matching refs:ipaddr

112     ipadm_addrobj_t ipaddr, uint_t flags, const char *propname);
158 i_ipadm_init_addr(ipadm_addrobj_t ipaddr, const char *ifname, in i_ipadm_init_addr() argument
161 bzero(ipaddr, sizeof (struct ipadm_addrobj_s)); in i_ipadm_init_addr()
162 (void) strlcpy(ipaddr->ipadm_ifname, ifname, in i_ipadm_init_addr()
163 sizeof (ipaddr->ipadm_ifname)); in i_ipadm_init_addr()
164 (void) strlcpy(ipaddr->ipadm_aobjname, aobjname, in i_ipadm_init_addr()
165 sizeof (ipaddr->ipadm_aobjname)); in i_ipadm_init_addr()
166 ipaddr->ipadm_atype = atype; in i_ipadm_init_addr()
209 i_ipadm_get_addrobj(ipadm_handle_t iph, ipadm_addrobj_t ipaddr) in i_ipadm_get_addrobj() argument
217 (void) strlcpy(larg.ia_aobjname, ipaddr->ipadm_aobjname, in i_ipadm_get_addrobj()
225 (void) strlcpy(ipaddr->ipadm_ifname, rval.ir_ifname, in i_ipadm_get_addrobj()
226 sizeof (ipaddr->ipadm_ifname)); in i_ipadm_get_addrobj()
227 ipaddr->ipadm_lifnum = rval.ir_lnum; in i_ipadm_get_addrobj()
228 ipaddr->ipadm_atype = rval.ir_atype; in i_ipadm_get_addrobj()
229 ipaddr->ipadm_af = rval.ir_family; in i_ipadm_get_addrobj()
230 ipaddr->ipadm_flags = rval.ir_flags; in i_ipadm_get_addrobj()
233 ipaddr->ipadm_intfid = rval.ipmgmt_ir_intfid; in i_ipadm_get_addrobj()
236 if (strlcpy(ipaddr->ipadm_reqhost, rval.ipmgmt_ir_reqhost, in i_ipadm_get_addrobj()
237 sizeof (ipaddr->ipadm_reqhost)) >= in i_ipadm_get_addrobj()
238 sizeof (ipaddr->ipadm_reqhost)) { in i_ipadm_get_addrobj()
258 i_ipadm_get_static_addr_db(ipadm_handle_t iph, ipadm_addrobj_t ipaddr) in i_ipadm_get_static_addr_db() argument
266 char *aobjname = ipaddr->ipadm_aobjname; in i_ipadm_get_static_addr_db()
308 ipadm_set_addr(ipaddr, sname, af) != IPADM_SUCCESS) in i_ipadm_get_static_addr_db()
402 struct ipadm_addrobj_s ipaddr; in i_ipadm_active_addr_info() local
477 ipaddr.ipadm_aobjname[0] = '\0'; in i_ipadm_active_addr_info()
478 (void) strlcpy(ipaddr.ipadm_ifname, cifname, in i_ipadm_active_addr_info()
479 sizeof (ipaddr.ipadm_ifname)); in i_ipadm_active_addr_info()
480 ipaddr.ipadm_lifnum = lnum; in i_ipadm_active_addr_info()
481 ipaddr.ipadm_af = ifap->ifa_addr->sa_family; in i_ipadm_active_addr_info()
482 status = i_ipadm_get_lif2addrobj(iph, &ipaddr); in i_ipadm_active_addr_info()
493 (void) strlcpy(curr->ia_aobjname, ipaddr.ipadm_aobjname, in i_ipadm_active_addr_info()
495 curr->ia_atype = ipaddr.ipadm_atype; in i_ipadm_active_addr_info()
955 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_set_prefixlen() local
957 if (ipaddr->ipadm_atype == IPADM_ADDR_DHCP) in i_ipadm_set_prefixlen()
975 i_ipadm_addrobj2lifname(ipaddr, lifr.lifr_name, in i_ipadm_set_prefixlen()
1008 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_set_addr_flag() local
1010 if (ipaddr->ipadm_atype == IPADM_ADDR_DHCP && in i_ipadm_set_addr_flag()
1040 i_ipadm_addrobj2lifname(ipaddr, lifname, sizeof (lifname)); in i_ipadm_set_addr_flag()
1097 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_set_reqhost() local
1099 if (ipaddr->ipadm_atype != IPADM_ADDR_DHCP) in i_ipadm_set_reqhost()
1106 if (!(ipaddr->ipadm_flags & IPMGMT_ACTIVE) && in i_ipadm_set_reqhost()
1111 status = ipadm_set_reqhost(ipaddr, pval); in i_ipadm_set_reqhost()
1115 if (ipaddr->ipadm_flags & IPMGMT_ACTIVE) { in i_ipadm_set_reqhost()
1116 status = i_ipadm_refresh_dhcp(ipaddr); in i_ipadm_set_reqhost()
1127 status = i_ipadm_set_aobj_addrprop(iph, ipaddr, flags, in i_ipadm_set_reqhost()
1137 i_ipadm_set_aobj_addrprop(ipadm_handle_t iph, ipadm_addrobj_t ipaddr, in i_ipadm_set_aobj_addrprop() argument
1153 if (ipaddr->ipadm_flags & IPMGMT_ACTIVE) in i_ipadm_set_aobj_addrprop()
1155 if (ipaddr->ipadm_flags & IPMGMT_PERSIST) in i_ipadm_set_aobj_addrprop()
1160 status = i_ipadm_addr_persist(iph, ipaddr, B_FALSE, two_stage_flags, in i_ipadm_set_aobj_addrprop()
1178 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_get_broadcast() local
1183 i_ipadm_addrobj2lifname(ipaddr, lifname, sizeof (lifname)); in i_ipadm_get_broadcast()
1184 if (ipaddr->ipadm_flags & IPMGMT_ACTIVE) { in i_ipadm_get_broadcast()
1206 if (!(ipaddr->ipadm_flags & IPMGMT_ACTIVE)) { in i_ipadm_get_broadcast()
1211 if (ipaddr->ipadm_atype == IPADM_ADDR_DHCP || in i_ipadm_get_broadcast()
1212 ipaddr->ipadm_af == AF_INET6) { in i_ipadm_get_broadcast()
1220 status = i_ipadm_get_static_addr_db(iph, ipaddr); in i_ipadm_get_broadcast()
1223 sin = SIN(&ipaddr->ipadm_static_addr); in i_ipadm_get_broadcast()
1293 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_get_prefixlen() local
1301 i_ipadm_addrobj2lifname(ipaddr, lifname, sizeof (lifname)); in i_ipadm_get_prefixlen()
1302 if (ipaddr->ipadm_flags & IPMGMT_ACTIVE) { in i_ipadm_get_prefixlen()
1323 if (ipaddr->ipadm_flags & IPMGMT_ACTIVE) { in i_ipadm_get_prefixlen()
1334 } else if ((ipaddr->ipadm_flags & IPMGMT_PERSIST) && in i_ipadm_get_prefixlen()
1335 ipaddr->ipadm_atype == IPADM_ADDR_DHCP) { in i_ipadm_get_prefixlen()
1347 status = i_ipadm_get_static_addr_db(iph, ipaddr); in i_ipadm_get_prefixlen()
1351 &ipaddr->ipadm_static_addr, &prefixlen); in i_ipadm_get_prefixlen()
1390 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_get_addr_flag() local
1409 i_ipadm_addrobj2lifname(ipaddr, lifname, sizeof (lifname)); in i_ipadm_get_addr_flag()
1506 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_get_primary() local
1512 if (ipaddr->ipadm_atype == IPADM_ADDR_DHCP) in i_ipadm_get_primary()
1516 if (ipaddr->ipadm_atype == IPADM_ADDR_DHCP) { in i_ipadm_get_primary()
1521 ipc_status = i_ipadm_dhcp_status(ipaddr, &dhcp_status, in i_ipadm_get_primary()
1555 ipadm_addrobj_t ipaddr = (ipadm_addrobj_t)arg; in i_ipadm_get_reqhost() local
1563 if (ipaddr->ipadm_atype == IPADM_ADDR_DHCP) in i_ipadm_get_reqhost()
1564 reqhost = ipaddr->ipadm_reqhost; in i_ipadm_get_reqhost()
1602 struct ipadm_addrobj_s ipaddr; in ipadm_get_addrprop() local
1620 i_ipadm_init_addr(&ipaddr, "", aobjname, IPADM_ADDR_NONE); in ipadm_get_addrprop()
1621 if ((status = i_ipadm_get_addrobj(iph, &ipaddr)) != IPADM_SUCCESS) in ipadm_get_addrprop()
1624 if (ipaddr.ipadm_atype == IPADM_ADDR_IPV6_ADDRCONF) in ipadm_get_addrprop()
1626 af = ipaddr.ipadm_af; in ipadm_get_addrprop()
1637 if (!(ipaddr.ipadm_flags & IPMGMT_ACTIVE)) { in ipadm_get_addrprop()
1640 status = pdp->ipd_get(iph, &ipaddr, pdp, buf, bufsize, in ipadm_get_addrprop()
1645 status = pdp->ipd_get(iph, &ipaddr, pdp, buf, bufsize, in ipadm_get_addrprop()
1650 status = pdp->ipd_get_range(iph, &ipaddr, pdp, buf, in ipadm_get_addrprop()
1658 &ipaddr); in ipadm_get_addrprop()
1676 struct ipadm_addrobj_s ipaddr; in ipadm_set_addrprop() local
1711 i_ipadm_init_addr(&ipaddr, "", aobjname, IPADM_ADDR_NONE); in ipadm_set_addrprop()
1712 if ((status = i_ipadm_get_addrobj(iph, &ipaddr)) != IPADM_SUCCESS) in ipadm_set_addrprop()
1715 if (!(ipaddr.ipadm_flags & IPMGMT_ACTIVE)) in ipadm_set_addrprop()
1720 !(ipaddr.ipadm_flags & IPMGMT_PERSIST)) in ipadm_set_addrprop()
1730 if (ipaddr.ipadm_atype == IPADM_ADDR_IPV6_ADDRCONF) in ipadm_set_addrprop()
1737 if (!(ipaddr.ipadm_flags & IPMGMT_ACTIVE)) in ipadm_set_addrprop()
1740 af = ipaddr.ipadm_af; in ipadm_set_addrprop()
1746 status = pdp->ipd_get(iph, &ipaddr, pdp, defbuf, &defbufsize, in ipadm_set_addrprop()
1753 status = pdp->ipd_set(iph, &ipaddr, pdp, pval, af, pflags); in ipadm_set_addrprop()
1762 status = i_ipadm_persist_propval(iph, pdp, pval, &ipaddr, in ipadm_set_addrprop()
1933 ipadm_set_addr(ipadm_addrobj_t ipaddr, const char *astr, sa_family_t af) in ipadm_set_addr() argument
1958 status = i_ipadm_resolve_addr(addrstr, af, &ipaddr->ipadm_static_addr); in ipadm_set_addr()
1960 (void) strlcpy(ipaddr->ipadm_static_aname, addrstr, in ipadm_set_addr()
1961 sizeof (ipaddr->ipadm_static_aname)); in ipadm_set_addr()
1962 ipaddr->ipadm_af = ipaddr->ipadm_static_addr.ss_family; in ipadm_set_addr()
1963 ipaddr->ipadm_static_prefixlen = prefixlen; in ipadm_set_addr()
1973 ipadm_get_addr(const ipadm_addrobj_t ipaddr, struct sockaddr_storage *addr) in ipadm_get_addr() argument
1975 if (ipaddr == NULL || ipaddr->ipadm_atype != IPADM_ADDR_STATIC || in ipadm_get_addr()
1979 *addr = ipaddr->ipadm_static_addr; in ipadm_get_addr()
1992 ipadm_set_dst_addr(ipadm_addrobj_t ipaddr, const char *daddrstr, sa_family_t af) in ipadm_set_dst_addr() argument
2001 &ipaddr->ipadm_static_dst_addr); in ipadm_set_dst_addr()
2003 (void) strlcpy(ipaddr->ipadm_static_dname, daddrstr, in ipadm_set_dst_addr()
2004 sizeof (ipaddr->ipadm_static_dname)); in ipadm_set_dst_addr()
2016 ipadm_set_interface_id(ipadm_addrobj_t ipaddr, const char *interface_id) in ipadm_set_interface_id() argument
2024 if (ipaddr == NULL || interface_id == NULL || in ipadm_set_interface_id()
2025 ipaddr->ipadm_atype != IPADM_ADDR_IPV6_ADDRCONF) in ipadm_set_interface_id()
2032 sin6 = &ipaddr->ipadm_intfid; in ipadm_set_interface_id()
2039 ipaddr->ipadm_intfidlen = prefixlen; in ipadm_set_interface_id()
2049 ipadm_set_stateless(ipadm_addrobj_t ipaddr, boolean_t stateless) in ipadm_set_stateless() argument
2051 if (ipaddr == NULL || in ipadm_set_stateless()
2052 ipaddr->ipadm_atype != IPADM_ADDR_IPV6_ADDRCONF) in ipadm_set_stateless()
2054 ipaddr->ipadm_stateless = stateless; in ipadm_set_stateless()
2063 ipadm_set_stateful(ipadm_addrobj_t ipaddr, boolean_t stateful) in ipadm_set_stateful() argument
2065 if (ipaddr == NULL || in ipadm_set_stateful()
2066 ipaddr->ipadm_atype != IPADM_ADDR_IPV6_ADDRCONF) in ipadm_set_stateful()
2068 ipaddr->ipadm_stateful = stateful; in ipadm_set_stateful()
2080 ipadm_set_primary(ipadm_addrobj_t ipaddr, boolean_t primary) in ipadm_set_primary() argument
2082 if (ipaddr == NULL || ipaddr->ipadm_atype != IPADM_ADDR_DHCP) in ipadm_set_primary()
2084 ipaddr->ipadm_primary = primary; in ipadm_set_primary()
2101 ipadm_set_wait_time(ipadm_addrobj_t ipaddr, int32_t wait) in ipadm_set_wait_time() argument
2103 if (ipaddr == NULL || ipaddr->ipadm_atype != IPADM_ADDR_DHCP) in ipadm_set_wait_time()
2105 ipaddr->ipadm_wait = wait; in ipadm_set_wait_time()
2115 ipadm_set_reqhost(ipadm_addrobj_t ipaddr, const char *reqhost) in ipadm_set_reqhost() argument
2117 const size_t HNLEN = sizeof (ipaddr->ipadm_reqhost); in ipadm_set_reqhost()
2119 if (ipaddr == NULL || ipaddr->ipadm_atype != IPADM_ADDR_DHCP) in ipadm_set_reqhost()
2123 *ipaddr->ipadm_reqhost = '\0'; in ipadm_set_reqhost()
2126 else if (strlcpy(ipaddr->ipadm_reqhost, reqhost, HNLEN) >= HNLEN) in ipadm_set_reqhost()
2140 i_ipadm_lookupadd_addrobj(ipadm_handle_t iph, ipadm_addrobj_t ipaddr) in i_ipadm_lookupadd_addrobj() argument
2148 (void) strlcpy(larg.ia_aobjname, ipaddr->ipadm_aobjname, in i_ipadm_lookupadd_addrobj()
2150 (void) strlcpy(larg.ia_ifname, ipaddr->ipadm_ifname, in i_ipadm_lookupadd_addrobj()
2152 larg.ia_family = ipaddr->ipadm_af; in i_ipadm_lookupadd_addrobj()
2153 larg.ia_atype = ipaddr->ipadm_atype; in i_ipadm_lookupadd_addrobj()
2165 ipaddr->ipadm_lifnum = rval.ir_lnum; in i_ipadm_lookupadd_addrobj()
2166 if (ipaddr->ipadm_aobjname[0] == '\0') { in i_ipadm_lookupadd_addrobj()
2167 (void) strlcpy(ipaddr->ipadm_aobjname, in i_ipadm_lookupadd_addrobj()
2169 sizeof (ipaddr->ipadm_aobjname)); in i_ipadm_lookupadd_addrobj()
2183 i_ipadm_setlifnum_addrobj(ipadm_handle_t iph, ipadm_addrobj_t ipaddr) in i_ipadm_setlifnum_addrobj() argument
2194 (void) strlcpy(larg.ia_aobjname, ipaddr->ipadm_aobjname, in i_ipadm_setlifnum_addrobj()
2196 larg.ia_lnum = ipaddr->ipadm_lifnum; in i_ipadm_setlifnum_addrobj()
2197 (void) strlcpy(larg.ia_ifname, ipaddr->ipadm_ifname, in i_ipadm_setlifnum_addrobj()
2199 larg.ia_family = ipaddr->ipadm_af; in i_ipadm_setlifnum_addrobj()
2221 struct ipadm_addrobj_s ipaddr; in i_ipadm_enable_static() local
2263 i_ipadm_init_addr(&ipaddr, ifname, aobjname, IPADM_ADDR_STATIC); in i_ipadm_enable_static()
2267 status = ipadm_set_addr(&ipaddr, cidraddr, af); in i_ipadm_enable_static()
2270 status = ipadm_set_addr(&ipaddr, sname, af); in i_ipadm_enable_static()
2276 status = ipadm_set_dst_addr(&ipaddr, dname, af); in i_ipadm_enable_static()
2280 return (i_ipadm_create_addr(iph, &ipaddr, flags)); in i_ipadm_enable_static()
2295 struct ipadm_addrobj_s ipaddr; in i_ipadm_enable_dhcp() local
2325 i_ipadm_init_addr(&ipaddr, ifname, aobjname, IPADM_ADDR_DHCP); in i_ipadm_enable_dhcp()
2326 ipaddr.ipadm_primary = primary; in i_ipadm_enable_dhcp()
2328 ipaddr.ipadm_wait = 0; in i_ipadm_enable_dhcp()
2330 ipaddr.ipadm_wait = wait; in i_ipadm_enable_dhcp()
2331 ipadm_err = ipadm_set_reqhost(&ipaddr, reqhost); in i_ipadm_enable_dhcp()
2334 ipaddr.ipadm_af = AF_INET; in i_ipadm_enable_dhcp()
2335 return (i_ipadm_create_dhcp(iph, &ipaddr, IPADM_OPT_ACTIVE)); in i_ipadm_enable_dhcp()
2345 struct ipadm_addrobj_s ipaddr; in i_ipadm_enable_addrconf() local
2382 i_ipadm_init_addr(&ipaddr, ifname, aobjname, IPADM_ADDR_IPV6_ADDRCONF); in i_ipadm_enable_addrconf()
2384 ipaddr.ipadm_intfidlen = intfidlen; in i_ipadm_enable_addrconf()
2385 bcopy(addr6, &ipaddr.ipadm_intfid.sin6_addr.s6_addr, n); in i_ipadm_enable_addrconf()
2387 ipaddr.ipadm_stateless = (strcmp(stateless, "yes") == 0); in i_ipadm_enable_addrconf()
2388 ipaddr.ipadm_stateful = (strcmp(stateful, "yes") == 0); in i_ipadm_enable_addrconf()
2389 return (i_ipadm_create_ipv6addrs(iph, &ipaddr, IPADM_OPT_ACTIVE)); in i_ipadm_enable_addrconf()
2402 ipadm_addrobj_t *ipaddr) in ipadm_create_addrobj() argument
2410 if (ipaddr == NULL) in ipadm_create_addrobj()
2412 *ipaddr = NULL; in ipadm_create_addrobj()
2475 *ipaddr = newaddr; in ipadm_create_addrobj()
2486 ipadm_get_aobjname(const ipadm_addrobj_t ipaddr, char *aobjname, size_t len) in ipadm_get_aobjname() argument
2488 if (ipaddr == NULL || aobjname == NULL) in ipadm_get_aobjname()
2490 if (strlcpy(aobjname, ipaddr->ipadm_aobjname, len) >= len) in ipadm_get_aobjname()
2500 ipadm_destroy_addrobj(ipadm_addrobj_t ipaddr) in ipadm_destroy_addrobj() argument
2502 free(ipaddr); in ipadm_destroy_addrobj()
2510 i_ipadm_addrobj2lifname(ipadm_addrobj_t ipaddr, char *lifname, int lifnamesize) in i_ipadm_addrobj2lifname() argument
2512 if (ipaddr->ipadm_lifnum != 0) { in i_ipadm_addrobj2lifname()
2514 ipaddr->ipadm_ifname, ipaddr->ipadm_lifnum); in i_ipadm_addrobj2lifname()
2517 ipaddr->ipadm_ifname); in i_ipadm_addrobj2lifname()
2681 struct ipadm_addrobj_s ipaddr; in ipadm_create_addr() local
2683 ipaddr = *addr; in ipadm_create_addr()
2684 status = i_ipadm_get_lif2addrobj(iph, &ipaddr); in ipadm_create_addr()
2691 if (ipaddr.ipadm_atype != IPADM_ADDR_STATIC) in ipadm_create_addr()
2698 ipaddr.ipadm_aobjname, IPADM_AOBJSIZ); in ipadm_create_addr()
2879 i_ipadm_create_addr(ipadm_handle_t iph, ipadm_addrobj_t ipaddr, uint32_t flags) in i_ipadm_create_addr() argument
2885 const struct sockaddr_storage *addr = &ipaddr->ipadm_static_addr; in i_ipadm_create_addr()
2886 const struct sockaddr_storage *daddr = &ipaddr->ipadm_static_dst_addr; in i_ipadm_create_addr()
2894 af = ipaddr->ipadm_af; in i_ipadm_create_addr()
2898 if (ipaddr->ipadm_static_prefixlen == 0) { in i_ipadm_create_addr()
2901 &ipaddr->ipadm_static_addr, in i_ipadm_create_addr()
2902 &ipaddr->ipadm_static_prefixlen); in i_ipadm_create_addr()
2907 (void) plen2mask(ipaddr->ipadm_static_prefixlen, af, in i_ipadm_create_addr()
2915 status = i_ipadm_do_addif(iph, ipaddr, NULL); in i_ipadm_create_addr()
2919 i_ipadm_addrobj2lifname(ipaddr, lifr.lifr_name, in i_ipadm_create_addr()
2973 ipaddr->ipadm_aobjname, in i_ipadm_create_addr()
2981 status = i_ipadm_addr_persist(iph, ipaddr, default_prefixlen, in i_ipadm_create_addr()
2986 (void) i_ipadm_delete_addr(iph, ipaddr); in i_ipadm_create_addr()
3012 struct ipadm_addrobj_s ipaddr; in ipadm_delete_addr() local
3027 bzero(&ipaddr, sizeof (ipaddr)); in ipadm_delete_addr()
3028 if (aobjname == NULL || strlcpy(ipaddr.ipadm_aobjname, aobjname, in ipadm_delete_addr()
3034 status = i_ipadm_get_addrobj(iph, &ipaddr); in ipadm_delete_addr()
3038 if (release && ipaddr.ipadm_atype != IPADM_ADDR_DHCP) in ipadm_delete_addr()
3044 if (!(ipaddr.ipadm_flags & IPMGMT_ACTIVE) && in ipadm_delete_addr()
3053 if (ipaddr.ipadm_flags & IPMGMT_ACTIVE) { in ipadm_delete_addr()
3060 ipaddr.ipadm_ifname))) { in ipadm_delete_addr()
3062 ipaddr.ipadm_ifname, gifname, sizeof (gifname)); in ipadm_delete_addr()
3064 ipaddr.ipadm_ifname, ""); in ipadm_delete_addr()
3067 switch (ipaddr.ipadm_atype) { in ipadm_delete_addr()
3069 status = i_ipadm_delete_addr(iph, &ipaddr); in ipadm_delete_addr()
3072 status = i_ipadm_delete_dhcp(iph, &ipaddr, release); in ipadm_delete_addr()
3075 status = i_ipadm_delete_ipv6addrs(iph, &ipaddr); in ipadm_delete_addr()
3098 if (!(ipaddr.ipadm_flags & IPMGMT_PERSIST) && in ipadm_delete_addr()
3102 status = i_ipadm_delete_addrobj(iph, &ipaddr, flags); in ipadm_delete_addr()
3116 ipaddr.ipadm_ifname, gifname); in ipadm_delete_addr()
3400 i_ipadm_addr_persist(ipadm_handle_t iph, const ipadm_addrobj_t ipaddr, in i_ipadm_addr_persist() argument
3403 char *aname = ipaddr->ipadm_aobjname; in i_ipadm_addr_persist()
3415 ipaddr->ipadm_ifname)) != 0 || in i_ipadm_addr_persist()
3418 ipaddr->ipadm_lifnum)) != 0) { in i_ipadm_addr_persist()
3422 switch (ipaddr->ipadm_atype) { in i_ipadm_addr_persist()
3424 status = i_ipadm_add_ipaddr2nvl(nvl, ipaddr); in i_ipadm_addr_persist()
3434 status = i_ipadm_add_dhcp2nvl(nvl, ipaddr->ipadm_primary, in i_ipadm_addr_persist()
3435 ipaddr->ipadm_wait); in i_ipadm_addr_persist()
3446 ipaddr->ipadm_reqhost); in i_ipadm_addr_persist()
3450 status = i_ipadm_add_intfid2nvl(nvl, ipaddr); in i_ipadm_addr_persist()
3499 switch (ipaddr->ipadm_atype) { in i_ipadm_addr_persist()
3506 ipaddr->ipadm_static_prefixlen); in i_ipadm_addr_persist()
3515 pval = ipaddr->ipadm_reqhost; in i_ipadm_addr_persist()
3525 ipaddr, flags); in i_ipadm_addr_persist()
3570 i_ipadm_delete_addrobj(ipadm_handle_t iph, const ipadm_addrobj_t ipaddr, in i_ipadm_delete_addrobj() argument
3582 (void) strlcpy(arg.ia_aobjname, ipaddr->ipadm_aobjname, in i_ipadm_delete_addrobj()
3584 arg.ia_lnum = ipaddr->ipadm_lifnum; in i_ipadm_delete_addrobj()
3597 ipadm_addrobj_t ipaddr, uint32_t ipadm_flags, uint64_t *ifflags) in i_ipadm_updown_common() argument
3607 if (aobjname == NULL || strlcpy(ipaddr->ipadm_aobjname, aobjname, in i_ipadm_updown_common()
3613 status = i_ipadm_get_addrobj(iph, ipaddr); in i_ipadm_updown_common()
3617 if (!(ipaddr->ipadm_flags & IPMGMT_ACTIVE)) in i_ipadm_updown_common()
3621 !(ipaddr->ipadm_flags & IPMGMT_PERSIST)) in i_ipadm_updown_common()
3624 if (ipaddr->ipadm_atype == IPADM_ADDR_IPV6_ADDRCONF || in i_ipadm_updown_common()
3625 (ipaddr->ipadm_atype == IPADM_ADDR_DHCP && in i_ipadm_updown_common()
3629 i_ipadm_addrobj2lifname(ipaddr, lifname, sizeof (lifname)); in i_ipadm_updown_common()
3631 return (i_ipadm_get_flags(iph, lifname, ipaddr->ipadm_af, ifflags)); in i_ipadm_updown_common()
3643 struct ipadm_addrobj_s ipaddr; in ipadm_up_addr() local
3648 status = i_ipadm_updown_common(iph, aobjname, &ipaddr, ipadm_flags, in ipadm_up_addr()
3661 i_ipadm_addrobj2lifname(&ipaddr, lifname, sizeof (lifname)); in ipadm_up_addr()
3662 status = i_ipadm_set_flags(iph, lifname, ipaddr.ipadm_af, IFF_UP, 0); in ipadm_up_addr()
3670 "yes", &ipaddr, 0); in ipadm_up_addr()
3685 struct ipadm_addrobj_s ipaddr; in ipadm_down_addr() local
3690 status = i_ipadm_updown_common(iph, aobjname, &ipaddr, ipadm_flags, in ipadm_down_addr()
3694 i_ipadm_addrobj2lifname(&ipaddr, lifr.lifr_name, in ipadm_down_addr()
3698 ipaddr.ipadm_af, 0, IFF_UP); in ipadm_down_addr()
3714 "no", &ipaddr, 0); in ipadm_down_addr()
3736 struct ipadm_addrobj_s ipaddr; in ipadm_refresh_addr() local
3746 bzero(&ipaddr, sizeof (ipaddr)); in ipadm_refresh_addr()
3748 if (aobjname == NULL || strlcpy(ipaddr.ipadm_aobjname, aobjname, in ipadm_refresh_addr()
3754 status = i_ipadm_get_addrobj(iph, &ipaddr); in ipadm_refresh_addr()
3758 if (!(ipaddr.ipadm_flags & IPMGMT_ACTIVE)) in ipadm_refresh_addr()
3761 if (i_ipadm_is_vni(ipaddr.ipadm_ifname)) in ipadm_refresh_addr()
3763 if (inform && ipaddr.ipadm_atype != IPADM_ADDR_STATIC) in ipadm_refresh_addr()
3765 af = ipaddr.ipadm_af; in ipadm_refresh_addr()
3766 if (ipaddr.ipadm_atype == IPADM_ADDR_STATIC) { in ipadm_refresh_addr()
3767 i_ipadm_addrobj2lifname(&ipaddr, lifname, sizeof (lifname)); in ipadm_refresh_addr()
3775 ipaddr.ipadm_wait = IPADM_DHCP_WAIT_DEFAULT; in ipadm_refresh_addr()
3776 return (i_ipadm_op_dhcp(&ipaddr, DHCP_INFORM, NULL)); in ipadm_refresh_addr()
3781 } else if (ipaddr.ipadm_atype == IPADM_ADDR_DHCP) { in ipadm_refresh_addr()
3782 status = i_ipadm_refresh_dhcp(&ipaddr); in ipadm_refresh_addr()
3795 i_ipadm_refresh_dhcp(ipadm_addrobj_t ipaddr) in i_ipadm_refresh_dhcp() argument
3800 status = i_ipadm_op_dhcp(ipaddr, DHCP_EXTEND, &dherr); in i_ipadm_refresh_dhcp()
3806 ipaddr->ipadm_wait = IPADM_DHCP_WAIT_DEFAULT; in i_ipadm_refresh_dhcp()
3807 status = i_ipadm_op_dhcp(ipaddr, DHCP_START, NULL); in i_ipadm_refresh_dhcp()
3828 i_ipadm_validate_create_addr(ipadm_handle_t iph, ipadm_addrobj_t ipaddr, in i_ipadm_validate_create_addr() argument
3841 if (ipaddr == NULL || flags == 0 || flags == IPADM_OPT_PERSIST || in i_ipadm_validate_create_addr()
3846 if (ipaddr->ipadm_af == AF_UNSPEC) in i_ipadm_validate_create_addr()
3849 if (!legacy && ipaddr->ipadm_lifnum != 0) in i_ipadm_validate_create_addr()
3852 if (legacy && ipaddr->ipadm_atype != IPADM_ADDR_STATIC) in i_ipadm_validate_create_addr()
3855 ifname = ipaddr->ipadm_ifname; in i_ipadm_validate_create_addr()
3865 af = ipaddr->ipadm_af; in i_ipadm_validate_create_addr()
3900 switch (ipaddr->ipadm_atype) { in i_ipadm_validate_create_addr()
3902 if ((islo || isvni) && ipaddr->ipadm_static_dname[0] != '\0') in i_ipadm_validate_create_addr()
3906 (struct sockaddr *)&ipaddr->ipadm_static_addr)) in i_ipadm_validate_create_addr()
3981 struct ipadm_addrobj_s ipaddr; in ipadm_enable_addr() local
3990 if (aobjname == NULL || strlcpy(ipaddr.ipadm_aobjname, aobjname, in ipadm_enable_addr()
3996 status = i_ipadm_get_addrobj(iph, &ipaddr); in ipadm_enable_addr()
3999 if (ipaddr.ipadm_flags & IPMGMT_ACTIVE) in ipadm_enable_addr()