Lines Matching defs:iph

200 i_ipadm_get_underifs(ipadm_handle_t iph, const char *ifname, list_t *unders,
209 status = i_ipadm_get_groupname(iph, ifname, i_grname, bufsize);
217 i_ipadm_get_groupname(iph, ifa->ifa_name, u_grname,
241 i_ipadm_active_if_info(ipadm_handle_t iph, const char *ifname,
255 if (iph->ih_zoneid != GLOBAL_ZONEID) {
258 if (zone_getattr(iph->ih_zoneid, ZONE_ATTR_FLAGS, &zflags,
271 if (getallifs(iph->ih_sock, 0, &buf, &numifs, lifc_flags) != 0)
346 status = i_ipadm_get_flags(iph, lifrp->lifr_name, af, &ifflags);
383 status = i_ipadm_get_underifs(iph,
395 if (ipadm_is_under_ipmp(iph, ifp->ifi_name))
418 i_ipadm_persist_if_info(ipadm_handle_t iph, const char *ifname,
440 (void) strlcpy(getif.ia_profile, iph->ih_profile, NETCFG_PROFILE_LEN);
449 err = ipadm_door_dyncall(iph, &getif, sizeof (getif), (void **)&rvalp,
536 i_ipadm_get_all_if_info(ipadm_handle_t iph, const char *ifname,
548 a_status = i_ipadm_active_if_info(iph, ifname, if_info, lifc_flags);
554 status = i_ipadm_persist_if_info(iph, ifname, &pifinfo);
641 i_ipadm_if_pexists_af(ipadm_handle_t iph, const char *ifname, boolean_t *v4,
656 if (iph->ih_flags & IH_IPMGMTD)
658 status = i_ipadm_persist_if_info(iph, ifname, &ifinfo);
675 i_ipadm_if_pexists(ipadm_handle_t iph, const char *ifname, sa_family_t af)
679 if (i_ipadm_if_pexists_af(iph, ifname, &isv4, &isv6)) {
724 i_ipadm_create_ipmp_peer(ipadm_handle_t iph, const char *ifname, sa_family_t af)
732 other_af_sock = IPADM_SOCK(iph, IPADM_OTHER_AF(af));
735 * iph is the handle for the interface that we are trying to plumb.
756 return (i_ipadm_create_ipmp(iph, lifgr.gi_grifname, af, B_TRUE,
791 i_ipadm_slifname(ipadm_handle_t iph, char *ifname, char *newif, uint64_t flags,
832 if (ioctl(iph->ih_sock, SIOCGLIFFLAGS, &lifr) != -1 ||
836 if (ioctl(iph->ih_sock6, SIOCGLIFFLAGS, &lifr) != -1 ||
879 status = i_ipadm_create_ipmp_peer(iph, ifname, af);
894 i_ipadm_is_anet(ipadm_handle_t iph, datalink_id_t linkid)
901 status = dladm_vnic_info(iph->ih_dh, linkid,
908 if ((status = dladm_part_info(iph->ih_dh, linkid,
922 i_ipadm_plumb_if(ipadm_handle_t iph, char *ifname, sa_family_t af,
941 if (ipadm_if_enabled(iph, ifname, af))
945 legacy = i_ipadm_is_legacy(iph);
948 status = i_ipadm_plumb_lif(iph, ifname, af, class);
954 status = i_ipadm_persist_if(iph, ifname, af, class);
956 (void) i_ipadm_delete_if(iph, ifname, af,
1013 is_6to4 = i_ipadm_is_6to4(iph, ifname);
1018 status = i_ipadm_slifname(iph, ifname, newif, ifflags, ip_fd,
1024 status = i_ipadm_get_flags(iph, newif, af, &ifflags);
1102 status = i_ipadm_persist_if(iph, ifname, af, class);
1104 (void) i_ipadm_delete_if(iph, ifname, af,
1138 status = i_ipadm_lookupadd_addrobj(iph, &addr);
1145 status = i_ipadm_set_flags(iph, lifname, af,
1165 status = i_ipadm_addr_persist(iph, &addr, B_FALSE, ipadm_flags);
1172 (void) i_ipadm_delete_if(iph, ifname, af, class, del_flags);
1180 i_ipadm_unplumb_if(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1202 return (i_ipadm_unplumb_lif(iph, ifname, af, ipadm_flags));
1210 sock = iph->ih_sock6;
1213 sock = iph->ih_sock;
1222 ret = i_ipadm_get_flags(iph, ifname, af, &flags);
1268 iph->ih_sock : iph->ih_sock6;
1284 ret = i_ipadm_set_flags(iph, lifrl.lifr_name,
1393 i_ipadm_unplumb_lif(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1403 if (ioctl(IPADM_SOCK(iph, af), SIOCLIFREMOVEIF, (caddr_t)&lifr) < 0)
1405 status = i_ipadm_get_lif2addrobj(iph, ifname, af, &ipaddr);
1411 return (i_ipadm_delete_addrobj(iph, &ipaddr, ipadm_flags));
1423 i_ipadm_persist_if(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1430 (void) strlcpy(ifarg.ia_profile, iph->ih_profile, NETCFG_PROFILE_LEN);
1435 err = ipadm_door_call(iph, &ifarg, sizeof (ifarg), NULL, 0);
1443 iph->ih_profile,
1444 i_ipadm_ifname_is_ip(iph, ifname) ? ifname : NULL,
1458 i_ipadm_delete_ifobj(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1472 (void) strlcpy(ifarg.ia_profile, iph->ih_profile, NETCFG_PROFILE_LEN);
1474 err = ipadm_door_call(iph, &ifarg, sizeof (ifarg), NULL, 0);
1483 !i_ipadm_if_pexists(iph, ifname, AF_UNSPEC)) {
1485 iph->ih_profile,
1486 i_ipadm_ifname_is_ip(iph, ifname) ? ifname : NULL,
1508 ipadm_create_loopback(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1514 if (!i_ipadm_is_legacy(iph))
1517 return (i_ipadm_create_if(iph, (char *)ifname, af,
1527 i_ipadm_plumb_lif(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1536 sock = IPADM_SOCK(iph, af);
1554 if (class == IPADMIF_CLASS_LOOPBACK && !i_ipadm_is_legacy(iph)) {
1568 ipadm_create_vni(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1573 return (i_ipadm_create_if(iph, (char *)ifname, af, IPADMIF_CLASS_VNI,
1582 ipadm_create_ip(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1590 if (!ipadm_is_ip(iph, ifname) || (flags & IPADM_OPT_GENPPA) != 0)
1593 if (iph->ih_dh != NULL) {
1594 dlstatus = dladm_name2info(iph->ih_dh, ifname, &linkid,
1602 if (iph->ih_zoneid == GLOBAL_ZONEID &&
1620 !i_ipadm_is_anet(iph, linkid)) {
1624 return (i_ipadm_create_if(iph, (char *)ifname, af, IPADMIF_CLASS_IP,
1636 ipadm_create_ipmp(ipadm_handle_t iph, char *ifname, sa_family_t af,
1639 return (i_ipadm_create_if(iph, ifname, af, IPADMIF_CLASS_IPMP, flags));
1643 i_ipadm_create_if_common(ipadm_handle_t iph, char *ifname, sa_family_t af,
1651 status = i_ipadm_plumb_if(iph, ifname, af, class, flags);
1661 if (ipadm_is_under_ipmp(iph, ifname)) {
1662 status = i_ipadm_set_flags(iph, ifname, af, IFF_UP, 0);
1664 (void) i_ipadm_unplumb_if(iph, ifname, af, flags);
1686 i_ipadm_create_if(ipadm_handle_t iph, char *ifname, sa_family_t af,
1694 status = i_ipadm_validate_ifcreate(iph, ifname, af, flags);
1706 strcasecmp(aprofile, iph->ih_profile) != 0) {
1709 if ((status = i_ipadm_persist_if(iph, ifname,
1715 status = i_ipadm_persist_if(iph, ifname,
1718 (void) i_ipadm_delete_if(iph, ifname,
1728 return (i_ipadm_plumb_lif(iph, ifname, af, class));
1729 if (i_ipadm_is_legacy(iph))
1730 return (i_ipadm_plumb_if(iph, ifname, af, class, flags));
1732 pflags = i_ipadm_get_pflags(iph, ifname);
1739 !ipadm_if_enabled(iph, ifname, AF_UNSPEC))
1743 !i_ipadm_is_6to4(iph, ifname)) {
1744 if ((status = i_ipadm_create_if_common(iph, ifname, AF_INET,
1756 if ((status = i_ipadm_create_if_common(iph, ifname, AF_INET6,
1763 (void) i_ipadm_delete_if(iph, ifname, AF_INET, class,
1781 i_ipadm_create_ipmp(ipadm_handle_t iph, char *ifname, sa_family_t af,
1788 if (i_ipadm_if_pexists(iph, ifname, AF_UNSPEC))
1791 status = i_ipadm_create_if(iph, ifname, af, IPADMIF_CLASS_IPMP,
1793 if (status == IPADM_SUCCESS && implicit && i_ipadm_is_legacy(iph) &&
1800 (void) i_ipadm_set_flags(iph, ifname, AF_INET6, IFF_UP, 0);
1816 ipadm_delete_loopback(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1821 if (!i_ipadm_is_legacy(iph))
1823 return (i_ipadm_delete_if(iph, ifname, af, IPADMIF_CLASS_LOOPBACK,
1832 ipadm_delete_vni(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1837 return (i_ipadm_delete_if(iph, ifname, af, IPADMIF_CLASS_VNI, flags));
1845 ipadm_delete_ip(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1848 if (!ipadm_is_ip(iph, ifname) || ipadm_ipmp_pexists(iph, ifname))
1850 return (i_ipadm_delete_if(iph, ifname, af, IPADMIF_CLASS_IP, flags));
1858 ipadm_delete_ipmp(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1861 if (!ipadm_is_ipmp(iph, ifname) && !ipadm_ipmp_pexists(iph, ifname))
1863 return (i_ipadm_delete_if(iph, ifname, af, IPADMIF_CLASS_IPMP, flags));
1923 i_ipadm_delete_if(ipadm_handle_t iph, const char *ifname, sa_family_t af,
1939 if (!i_ipadm_validate_ifname(iph, ifname))
1950 strcasecmp(aprofile, iph->ih_profile) != 0) {
1953 status1 = i_ipadm_delete_ifobj(iph, ifname,
1959 status2 = i_ipadm_delete_ifobj(iph, ifname,
1983 status1 = i_ipadm_active_if_info(iph, ifname, &ifinfo, 0);
1989 status1 = ipadm_remove_ipmp(iph, ifname,
2009 status1 = i_ipadm_unplumb_if(iph, ifname, AF_INET, flags);
2012 ret = i_ipadm_delete_ifobj(iph, ifname, AF_INET, flags);
2018 status2 = i_ipadm_unplumb_if(iph, ifname, AF_INET6, flags);
2021 ret = i_ipadm_delete_ifobj(iph, ifname, AF_INET6,
2048 ipadm_add_ipmp(ipadm_handle_t iph, const char *ipmpif, const char *underif,
2051 return (i_ipadm_update_ipmp(iph, ipmpif, underif, IPADM_IPMPOP_ADD,
2060 ipadm_remove_ipmp(ipadm_handle_t iph, const char *ipmpif, const char *underif,
2063 return (i_ipadm_update_ipmp(iph, ipmpif, underif, IPADM_IPMPOP_REMOVE,
2072 i_ipadm_update_ipmp(ipadm_handle_t iph, const char *ipmpif,
2078 boolean_t legacy = i_ipadm_is_legacy(iph);
2095 if (strcasecmp(aprofile, iph->ih_profile) != 0) {
2097 status = i_ipadm_persist_update_ipmp(iph, ipmpif,
2110 ipmp_pexist = i_ipadm_if_pexists(iph, ipmpif, AF_UNSPEC);
2111 under_pexist = i_ipadm_if_pexists(iph, underif, AF_UNSPEC);
2117 if (!ipadm_if_enabled(iph, ipmpif, AF_UNSPEC)) {
2122 if (!ipadm_is_ipmp(iph, ipmpif))
2128 if (!ipadm_if_enabled(iph, underif, AF_UNSPEC)) {
2137 status = i_ipadm_get_groupname(iph, ipmpif, grname, LIFGRNAMSIZ);
2144 status = i_ipadm_add_ipmp(iph, grname, ipmpif, underif, flags);
2152 status = i_ipadm_add_ipmp_bringup_underif(iph, underif);
2159 return (i_ipadm_remove_ipmp(iph, grname, ipmpif, underif, flags));
2161 (void) i_ipadm_remove_ipmp(iph, grname, ipmpif, underif, flags);
2203 i_ipadm_add_ipmp(ipadm_handle_t iph, const char *grname, const char *ipmpif,
2215 sock = IPADM_SOCK(iph, i_ipadm_get_active_af(iph, underif));
2234 status = i_ipadm_persist_update_ipmp(iph, ipmpif, underif,
2237 (void) i_ipadm_remove_ipmp(iph, grname, ipmpif,
2257 i_ipadm_remove_ipmp(ipadm_handle_t iph, const char *grname, const char *ipmpif,
2270 status = i_ipadm_get_groupname(iph, underif, c_grname, bufsize);
2281 if (!i_ipadm_is_legacy(iph)) {
2282 status = i_ipadm_remove_ipmp_bringdown_underif(iph, underif);
2289 sock = IPADM_SOCK(iph, i_ipadm_get_active_af(iph, underif));
2294 status = i_ipadm_persist_update_ipmp(iph, ipmpif, underif,
2307 i_ipadm_ifaddr_unspec(ipadm_handle_t iph, const char *ifname, sa_family_t af)
2313 if (ioctl(IPADM_SOCK(iph, af), SIOCGLIFADDR, &lifr) < 0)
2327 i_ipadm_add_ipmp_bringup_underif(ipadm_handle_t iph, const char *underif)
2331 if (!ipadm_if_enabled(iph, underif, AF_UNSPEC))
2335 if (i_ipadm_ifaddr_unspec(iph, underif, AF_INET)) {
2336 status = i_ipadm_set_flags(iph, underif, AF_INET, IFF_UP, 0);
2341 if (i_ipadm_ifaddr_unspec(iph, underif, AF_INET6))
2342 status = i_ipadm_set_flags(iph, underif, AF_INET6, IFF_UP, 0);
2359 i_ipadm_remove_ipmp_bringdown_underif(ipadm_handle_t iph, const char *underif)
2364 if (i_ipadm_ifaddr_unspec(iph, underif, AF_INET)) {
2365 status = i_ipadm_get_flags(iph, underif, AF_INET, &flags);
2367 status = i_ipadm_set_flags(iph, underif, AF_INET,
2374 if (i_ipadm_ifaddr_unspec(iph, underif, AF_INET6)) {
2375 status = i_ipadm_get_flags(iph, underif, AF_INET6, &flags);
2377 status = i_ipadm_set_flags(iph, underif, AF_INET6,
2392 ipadm_mark_testaddrs(ipadm_handle_t iph, const char *ifname)
2394 return (i_ipadm_mark_testaddrs_common(iph, ifname, B_TRUE));
2402 ipadm_clear_testaddrs(ipadm_handle_t iph, const char *ifname)
2404 return (i_ipadm_mark_testaddrs_common(iph, ifname, B_FALSE));
2408 i_ipadm_mark_testaddrs_common(ipadm_handle_t iph, const char *ifname,
2419 status = ipadm_addr_info(iph, ifname, &ainfo, 0, LIFC_UNDER_IPMP);
2454 status = i_ipadm_set_flags(iph, ifap->ifa_name, af, set, clear);
2467 i_ipadm_persist_update_ipmp(ipadm_handle_t iph, const char *ipmpif,
2477 (void) strlcpy(ipmparg.ia_profile, iph->ih_profile, NETCFG_PROFILE_LEN);
2486 err = ipadm_door_call(iph, &ipmparg, sizeof (ipmparg), NULL, 0);
2496 ipadm_down_addrs(ipadm_handle_t iph, const char *ifname,
2504 status = ipadm_addr_info(iph, ifname, downaddrs, IPADM_OPT_ZEROADDR, 0);
2514 status = i_ipadm_set_flags(iph, ifap->ifa_name, af,
2548 (void) i_ipadm_set_flags(iph, curr->ia_ifa.ifa_name, af,
2560 ipadm_up_addrs(ipadm_handle_t iph, ipadm_addr_info_t *upaddrs)
2568 status = i_ipadm_set_flags(iph, ainfop->ia_ifa.ifa_name, af,
2590 ipadm_wait_app_addrs(ipadm_handle_t iph, const char *ifname)
2603 status = ipadm_addr_info(iph, ifname, &ainfo,
2631 ipadm_create_ipmp_implicit(ipadm_handle_t iph, const char *ifname)
2635 if (!ipadm_if_enabled(iph, ifname, AF_INET))
2637 else if (!ipadm_if_enabled(iph, ifname, AF_INET6))
2646 return (i_ipadm_create_ipmp(iph, (char *)ifname, af, B_TRUE,
2662 ipadm_if_info(ipadm_handle_t iph, const char *ifname,
2668 if (if_info == NULL || iph == NULL || flags != 0)
2676 status = i_ipadm_get_all_if_info(iph, ifname, if_info, lifc_flags);
2718 i_ipadm_get_db_initif(ipadm_handle_t iph, const char *ifname, nvlist_t **onvl)
2728 (void) strlcpy(initif.ia_profile, iph->ih_profile, NETCFG_PROFILE_LEN);
2733 err = ipadm_door_dyncall(iph, &initif, sizeof (initif), (void **)&rvalp,
2752 ipadm_enable_if(ipadm_handle_t iph, const char *ifname, uint32_t flags)
2775 if (strcasecmp(aprofile, iph->ih_profile) != 0)
2781 if (ipadm_if_enabled(iph, ifname, AF_INET) &&
2782 ipadm_if_enabled(iph, ifname, AF_INET6)) {
2789 status = i_ipadm_get_db_initif(iph, ifname, &ifnvl);
2800 iph->ih_flags |= IH_INIT;
2801 rstatus = i_ipadm_enable_if(iph, ifname, ifnvl, flags);
2802 iph->ih_flags &= ~IH_INIT;
2812 ipadm_disable_if(ipadm_handle_t iph, const char *ifname, uint32_t flags)
2836 if (strcasecmp(aprofile, iph->ih_profile) != 0)
2839 return (i_ipadm_disable_if(iph, ifname, flags));
2844 i_ipadm_disable_if(ipadm_handle_t iph, const char *ifname, uint32_t flags)
2848 status1 = i_ipadm_unplumb_if(iph, ifname, AF_INET6, IPADM_OPT_ACTIVE);
2850 status1 = i_ipadm_delete_ifobj(iph, ifname, AF_INET6,
2852 status2 = i_ipadm_unplumb_if(iph, ifname, AF_INET, IPADM_OPT_ACTIVE);
2854 status2 = i_ipadm_delete_ifobj(iph, ifname, AF_INET,
2866 ipadm_migrate_dataaddrs(ipadm_handle_t iph, const char *underif,
2878 sock = IPADM_SOCK(iph, i_ipadm_get_active_af(iph, underif));
2911 status = i_ipadm_migrate_addrs(iph, underif, &maddrs,
2925 i_ipadm_get_persist_ipmpif(ipadm_handle_t iph, const char *underif,
2932 status = i_ipadm_persist_if_info(iph, NULL, &ifinfo);
3018 i_ipadm_configure_loopback(ipadm_handle_t iph, boolean_t enable)
3022 if (ipadm_addr_info(iph, LOOPBACK_IF, &ainfo, 0, 0) != IPADM_SUCCESS)
3031 (void) ipadm_enable_addr(iph, ainfop->ia_aobjname,
3034 (void) ipadm_disable_addr(iph, ainfop->ia_aobjname,
3045 i_ipadm_enable_disable_underifs(ipadm_handle_t iph, const char *ipmpif,
3052 if (ipadm_if_info(iph, ipmpif, &ifinfo, 0, 0) != IPADM_SUCCESS)
3059 (void) ipadm_enable_if(iph, uifp->ifn_name,
3062 (void) ipadm_disable_if(iph, uifp->ifn_name,
3075 i_ipadm_enable_ipmp_dhcpaddrs(ipadm_handle_t iph, const char *ifname)
3079 if (ipadm_addr_info(iph, ifname, &ainfo, 0,
3088 (void) ipadm_enable_addr(iph, ainfop->ia_aobjname,
3100 ipadm_enable_all_ifs(ipadm_handle_t iph)
3105 boolean_t fixed = i_ipadm_profile_is_fixed(iph->ih_profile);
3107 if (ipadm_if_info(iph, NULL, &ifinfo, 0, LIFC_NOXMIT) != IPADM_SUCCESS)
3114 i_ipadm_configure_loopback(iph, B_TRUE);
3125 status = ipadm_enable_if(iph, ifp->ifi_name, IPADM_OPT_ACTIVE);
3136 i_ipadm_enable_disable_underifs(iph, ifp->ifi_name,
3138 i_ipadm_enable_ipmp_dhcpaddrs(iph, ifp->ifi_name);
3150 ipadm_disable_all_ifs(ipadm_handle_t iph)
3155 boolean_t fixed = i_ipadm_profile_is_fixed(iph->ih_profile);
3157 if (ipadm_if_info(iph, NULL, &ifinfo, 0, LIFC_NOXMIT) != IPADM_SUCCESS)
3164 i_ipadm_configure_loopback(iph, B_FALSE);
3177 status = ipadm_disable_if(iph, ifp->ifi_name, IPADM_OPT_ACTIVE);
3183 i_ipadm_enable_disable_underifs(iph, ifp->ifi_name,
3185 (void) ipadm_disable_if(iph, ifp->ifi_name,