Lines Matching refs:pi
32 static void advertise(struct sockaddr_in6 *sin6, struct phyint *pi,
34 static void solicit(struct sockaddr_in6 *sin6, struct phyint *pi);
36 static void check_if_removed(struct phyint *pi);
37 static void loopback_ra_enqueue(struct phyint *pi,
154 add_opt_lla(struct phyint *pi, struct nd_opt_lla *optp) in add_opt_lla() argument
161 if (phyint_get_lla(pi, &lifr) == -1) in add_opt_lla()
177 solicit(struct sockaddr_in6 *sin6, struct phyint *pi) in solicit() argument
192 packetlen += add_opt_lla(pi, (struct nd_opt_lla *)pptr); in solicit()
195 print_route_sol("Sending solicitation to ", pi, rs, packetlen, in solicit()
198 sendpacket(sin6, pi->pi_sock, packetlen, 0); in solicit()
208 advertise(struct sockaddr_in6 *sin6, struct phyint *pi, boolean_t no_prefixes) in advertise() argument
220 ra->nd_ra_curhoplimit = pi->pi_AdvCurHopLimit; in advertise()
222 if (pi->pi_AdvManagedFlag) in advertise()
224 if (pi->pi_AdvOtherConfigFlag) in advertise()
227 if (pi->pi_adv_state == FINAL_ADV) in advertise()
230 ra->nd_ra_router_lifetime = htons(pi->pi_AdvDefaultLifetime); in advertise()
231 ra->nd_ra_reachable = htonl(pi->pi_AdvReachableTime); in advertise()
232 ra->nd_ra_retransmit = htonl(pi->pi_AdvRetransTimer); in advertise()
237 if (pi->pi_adv_state == FINAL_ADV) { in advertise()
239 print_route_adv("Sending advert (FINAL) to ", pi, in advertise()
242 sendpacket(sin6, pi->pi_sock, packetlen, 0); in advertise()
244 loopback_ra_enqueue(pi, ra, packetlen); in advertise()
249 packetlen += add_opt_lla(pi, (struct nd_opt_lla *)pptr); in advertise()
252 if (pi->pi_AdvLinkMTU != 0) { in advertise()
258 mo->nd_opt_mtu_mtu = htonl(pi->pi_AdvLinkMTU); in advertise()
266 print_route_adv("Sending advert to ", pi, in advertise()
269 sendpacket(sin6, pi->pi_sock, packetlen, 0); in advertise()
271 loopback_ra_enqueue(pi, ra, packetlen); in advertise()
276 for (adv_pr = pi->pi_adv_prefix_list; adv_pr != NULL; in advertise()
288 pi->pi_LinkMTU - sizeof (struct ip6_hdr)) { in advertise()
292 pi, ra, packetlen, sin6); in advertise()
294 sendpacket(sin6, pi->pi_sock, packetlen, 0); in advertise()
296 loopback_ra_enqueue(pi, ra, packetlen); in advertise()
339 print_route_adv("Sending advert to ", pi, in advertise()
342 sendpacket(sin6, pi->pi_sock, packetlen, 0); in advertise()
344 loopback_ra_enqueue(pi, ra, packetlen); in advertise()
424 struct phyint *pi; in if_process() local
464 pi = phyint_lookup(phyintname); in if_process()
465 if (pi == NULL) { in if_process()
466 pi = phyint_create(phyintname); in if_process()
467 if (pi == NULL) { in if_process()
476 if (phyint_check_ipadm_intfid(pi) == -1) in if_process()
485 (void) phyint_init_from_k(pi); in if_process()
487 if (pi->pi_sock == -1 && !(pi->pi_kernel_state & PI_PRESENT)) { in if_process()
491 "present %s\n", pi->pi_name); in if_process()
496 if (pi->pi_sock != -1) { in if_process()
497 if (poll_add(pi->pi_sock) == -1) { in if_process()
501 phyint_cleanup(pi); in if_process()
513 pi->pi_AdvSendAdvertisements && !(pi->pi_flags & IFF_ROUTER)) { in if_process()
514 logmsg(LOG_INFO, "No longer a router on %s\n", pi->pi_name); in if_process()
515 check_to_advertise(pi, START_FINAL_ADV); in if_process()
517 pi->pi_AdvSendAdvertisements = 0; in if_process()
518 pi->pi_sol_state = NO_SOLICIT; in if_process()
525 if (pi->pi_kernel_state & PI_PRESENT) { in if_process()
527 if (pi->pi_AdvSendAdvertisements) { in if_process()
528 if (pi->pi_adv_state == NO_ADV) in if_process()
529 check_to_advertise(pi, START_INIT_ADV); in if_process()
531 if (pi->pi_sol_state == NO_SOLICIT) in if_process()
532 check_to_solicit(pi, START_INIT_SOLICIT); in if_process()
541 pr = prefix_lookup_name(pi, ifname); in if_process()
543 pr = prefix_create_name(pi, ifname); in if_process()
568 (void *)&pi->pi_tmp_token, abuf, sizeof (abuf)), in if_process()
569 pr->pr_attempts, pi->pi_name); in if_process()
570 pi->pi_TmpAddrsEnabled = 0; in if_process()
571 tmptoken_delete(pi); in if_process()
576 pr->pr_name, inet_ntop(AF_INET6, (void *)&pi->pi_tmp_token, in if_process()
578 if (!tmptoken_create(pi)) { in if_process()
582 token = &pi->pi_tmp_token; in if_process()
622 struct phyint *pi; in initifs() local
656 for (pi = phyints; pi != NULL; pi = pi->pi_next) { in initifs()
661 pi->pi_kernel_state &= ~PI_PRESENT; in initifs()
662 for (pr = pi->pi_prefix_list; pr != NULL; pr = pr->pr_next) { in initifs()
688 for (pi = phyints; pi != NULL; pi = next_pi) { in initifs()
689 next_pi = pi->pi_next; in initifs()
694 if (pi->pi_kernel_state & PI_PRESENT) { in initifs()
695 pi->pi_state |= PI_PRESENT; in initifs()
698 check_if_removed(pi); in initifs()
710 check_to_advertise(struct phyint *pi, enum adv_events event) in check_to_advertise() argument
713 enum adv_states old_state = pi->pi_adv_state; in check_to_advertise()
717 pi->pi_name, (int)event, (int)old_state); in check_to_advertise()
719 delay = advertise_event(pi, event, 0); in check_to_advertise()
727 pi->pi_name, (int)event, (int)old_state, in check_to_advertise()
728 (int)pi->pi_adv_state); in check_to_advertise()
740 advertise_event(struct phyint *pi, enum adv_events event, uint_t elapsed) in advertise_event() argument
746 pi->pi_name, (int)event, elapsed, (int)pi->pi_adv_state); in advertise_event()
749 if (!pi->pi_AdvSendAdvertisements) in advertise_event()
751 if (pi->pi_flags & IFF_NORTEXCH) { in advertise_event()
755 pi->pi_name); in advertise_event()
762 pi->pi_adv_state = NO_ADV; in advertise_event()
766 if (pi->pi_adv_state == INIT_ADV) in advertise_event()
767 return (pi->pi_adv_time_left); in advertise_event()
768 pi->pi_adv_count = ND_MAX_INITIAL_RTR_ADVERTISEMENTS; in advertise_event()
769 pi->pi_adv_time_left = 0; in advertise_event()
770 pi->pi_adv_state = INIT_ADV; in advertise_event()
774 if (pi->pi_adv_state == NO_ADV) in advertise_event()
776 if (pi->pi_adv_state == FINAL_ADV) in advertise_event()
777 return (pi->pi_adv_time_left); in advertise_event()
778 pi->pi_adv_count = ND_MAX_FINAL_RTR_ADVERTISEMENTS; in advertise_event()
779 pi->pi_adv_time_left = 0; in advertise_event()
780 pi->pi_adv_state = FINAL_ADV; in advertise_event()
784 if (pi->pi_adv_state == NO_ADV) in advertise_event()
786 if (pi->pi_adv_state == SOLICIT_ADV) { in advertise_event()
787 if (pi->pi_adv_time_left != 0) in advertise_event()
788 return (pi->pi_adv_time_left); in advertise_event()
792 if (delay < pi->pi_adv_time_left) in advertise_event()
793 pi->pi_adv_time_left = delay; in advertise_event()
794 if (pi->pi_adv_time_since_sent < ND_MIN_DELAY_BETWEEN_RAS) { in advertise_event()
800 pi->pi_adv_time_left = delay + in advertise_event()
802 pi->pi_adv_time_since_sent; in advertise_event()
804 pi->pi_adv_state = SOLICIT_ADV; in advertise_event()
808 if (pi->pi_adv_state == NO_ADV) in advertise_event()
811 if (pi->pi_adv_time_left >= elapsed) in advertise_event()
812 pi->pi_adv_time_left -= elapsed; in advertise_event()
814 pi->pi_adv_time_left = 0; in advertise_event()
817 pi->pi_adv_time_since_sent += elapsed; in advertise_event()
825 if (pi->pi_adv_time_left != 0) in advertise_event()
826 return (pi->pi_adv_time_left); in advertise_event()
829 if (pi->pi_adv_state == FINAL_ADV) { in advertise_event()
831 advertise(&v6allnodes, pi, _B_TRUE); in advertise_event()
833 advertise(&v6allnodes, pi, _B_FALSE); in advertise_event()
835 pi->pi_adv_time_since_sent = 0; in advertise_event()
837 switch (pi->pi_adv_state) { in advertise_event()
843 pi->pi_adv_state = REG_ADV; in advertise_event()
846 pi->pi_adv_time_left = in advertise_event()
847 GET_RANDOM(1000 * pi->pi_MinRtrAdvInterval, in advertise_event()
848 1000 * pi->pi_MaxRtrAdvInterval); in advertise_event()
852 if (--pi->pi_adv_count > 0) { in advertise_event()
853 delay = GET_RANDOM(1000 * pi->pi_MinRtrAdvInterval, in advertise_event()
854 1000 * pi->pi_MaxRtrAdvInterval); in advertise_event()
857 pi->pi_adv_time_left = delay; in advertise_event()
859 pi->pi_adv_time_left = in advertise_event()
860 GET_RANDOM(1000 * pi->pi_MinRtrAdvInterval, in advertise_event()
861 1000 * pi->pi_MaxRtrAdvInterval); in advertise_event()
862 pi->pi_adv_state = REG_ADV; in advertise_event()
867 if (--pi->pi_adv_count > 0) { in advertise_event()
868 pi->pi_adv_time_left = in advertise_event()
871 pi->pi_adv_state = NO_ADV; in advertise_event()
875 if (pi->pi_adv_state != NO_ADV) in advertise_event()
876 return (pi->pi_adv_time_left); in advertise_event()
886 check_to_solicit(struct phyint *pi, enum solicit_events event) in check_to_solicit() argument
889 enum solicit_states old_state = pi->pi_sol_state; in check_to_solicit()
893 pi->pi_name, (int)event, (int)old_state); in check_to_solicit()
895 delay = solicit_event(pi, event, 0); in check_to_solicit()
903 pi->pi_name, (int)event, (int)old_state, in check_to_solicit()
904 (int)pi->pi_sol_state); in check_to_solicit()
961 struct phyint *pi; in check_daemonize() local
966 for (pi = phyints; pi != NULL; pi = pi->pi_next) { in check_daemonize()
967 if (!(pi->pi_flags & IFF_NOXMIT)) in check_daemonize()
975 if (pi == NULL) { in check_daemonize()
981 for (pi = phyints; pi != NULL; pi = pi->pi_next) { in check_daemonize()
982 if (pi->pi_AdvSendAdvertisements || in check_daemonize()
983 !(pi->pi_kernel_state & PI_PRESENT)) in check_daemonize()
986 if (pi->pi_sol_state == INIT_SOLICIT) in check_daemonize()
1001 solicit_event(struct phyint *pi, enum solicit_events event, uint_t elapsed) in solicit_event() argument
1005 pi->pi_name, (int)event, elapsed, (int)pi->pi_sol_state); in solicit_event()
1008 if (pi->pi_AdvSendAdvertisements) in solicit_event()
1010 if (pi->pi_flags & IFF_NORTEXCH) { in solicit_event()
1014 pi->pi_name); in solicit_event()
1021 pi->pi_sol_state = NO_SOLICIT; in solicit_event()
1026 pi->pi_sol_state = DONE_SOLICIT; in solicit_event()
1037 if (pi->pi_sol_state == INIT_SOLICIT) in solicit_event()
1038 return (pi->pi_sol_time_left); in solicit_event()
1039 pi->pi_sol_count = ND_MAX_RTR_SOLICITATIONS; in solicit_event()
1040 pi->pi_sol_time_left = in solicit_event()
1042 pi->pi_sol_state = INIT_SOLICIT; in solicit_event()
1046 if (pi->pi_sol_state == INIT_SOLICIT) in solicit_event()
1047 return (pi->pi_sol_time_left); in solicit_event()
1048 pi->pi_ra_flags = 0; in solicit_event()
1049 pi->pi_sol_count = ND_MAX_RTR_SOLICITATIONS; in solicit_event()
1050 pi->pi_sol_time_left = in solicit_event()
1052 pi->pi_sol_state = INIT_SOLICIT; in solicit_event()
1056 if (pi->pi_sol_state == NO_SOLICIT) in solicit_event()
1059 if (pi->pi_sol_time_left >= elapsed) in solicit_event()
1060 pi->pi_sol_time_left -= elapsed; in solicit_event()
1062 pi->pi_sol_time_left = 0; in solicit_event()
1070 if (pi->pi_sol_time_left != 0) in solicit_event()
1071 return (pi->pi_sol_time_left); in solicit_event()
1074 switch (pi->pi_sol_state) { in solicit_event()
1076 solicit(&v6allrouters, pi); in solicit_event()
1077 if (--pi->pi_sol_count == 0) { in solicit_event()
1081 pi->pi_name); in solicit_event()
1083 if (pi->pi_autoconf && pi->pi_StatefulAddrConf) { in solicit_event()
1084 pi->pi_ra_flags |= ND_RA_FLAG_MANAGED | in solicit_event()
1086 start_dhcp(pi); in solicit_event()
1088 pi->pi_sol_state = DONE_SOLICIT; in solicit_event()
1092 pi->pi_sol_time_left = ND_RTR_SOLICITATION_INTERVAL; in solicit_event()
1093 return (pi->pi_sol_time_left); in solicit_event()
1098 return (pi->pi_sol_time_left); in solicit_event()
1204 struct phyint *pi; in run_timeouts() local
1232 for (pi = phyints; pi != NULL; pi = next_pi) { in run_timeouts()
1233 next_pi = pi->pi_next; in run_timeouts()
1234 nexti = phyint_timer(pi, elapsed); in run_timeouts()
1239 pi->pi_name, nexti, next); in run_timeouts()
1241 for (pr = pi->pi_prefix_list; pr != NULL; pr = next_pr) { in run_timeouts()
1251 for (adv_pr = pi->pi_adv_prefix_list; adv_pr != NULL; in run_timeouts()
1264 for (dr = pi->pi_router_list; dr != NULL; dr = next_dr) { in run_timeouts()
1274 if (pi->pi_TmpAddrsEnabled) { in run_timeouts()
1275 nexti = tmptoken_timer(pi, elapsed); in run_timeouts()
1280 "%d -> %u ms\n", pi->pi_name, nexti, next); in run_timeouts()
1331 struct phyint *pi; in in_signal() local
1366 for (pi = phyints; pi != NULL; pi = next_pi) { in in_signal()
1367 next_pi = pi->pi_next; in in_signal()
1368 if (pi->pi_AdvSendAdvertisements) in in_signal()
1369 check_to_advertise(pi, START_FINAL_ADV); in in_signal()
1377 phyint_delete(pi); in in_signal()
1398 for (pi = phyints; pi != NULL; pi = next_pi) { in in_signal()
1399 next_pi = pi->pi_next; in in_signal()
1400 if (pi->pi_AdvSendAdvertisements) in in_signal()
1401 check_to_advertise(pi, START_FINAL_ADV); in in_signal()
1403 phyint_delete(pi); in in_signal()
1587 struct phyint *pi; in process_rtsock() local
1653 pi = phyint_lookup_on_index(ifm->ifm_index); in process_rtsock()
1654 if (pi == NULL) { in process_rtsock()
1663 if (ifm->ifm_flags != (uint_t)pi->pi_flags) { in process_rtsock()
1667 pi->pi_name, pi->pi_flags, ifm->ifm_flags); in process_rtsock()
1680 pi->pi_kernel_state &= ~PI_PRESENT; in process_rtsock()
1681 for (pr = pi->pi_prefix_list; pr != NULL; pr = pr->pr_next) { in process_rtsock()
1692 if_process(ifsock, pi->pi_name, _B_FALSE); in process_rtsock()
1693 for (pr = pi->pi_prefix_list; pr != NULL; pr = pr->pr_next) { in process_rtsock()
1700 if (pi->pi_kernel_state & PI_PRESENT) { in process_rtsock()
1701 pi->pi_state |= PI_PRESENT; in process_rtsock()
1703 check_if_removed(pi); in process_rtsock()
1712 struct phyint *pi; in process_mibsock() local
1735 for (pi = phyints; pi != NULL; pi = pi->pi_next) { in process_mibsock()
1748 prefix_list = pi->pi_prefix_list; in process_mibsock()
1757 router_list = pi->pi_router_list; in process_mibsock()
1765 phyint.phyint_index = pi->pi_index; in process_mibsock()
1766 bcopy(pi->pi_config, in process_mibsock()
1777 prefix_list = pi->pi_prefix_list; in process_mibsock()
1784 prefix.prefix_phyint_index = pi->pi_index; in process_mibsock()
1802 router_list = pi->pi_router_list; in process_mibsock()
1808 router.router_phyint_index = pi->pi_index; in process_mibsock()
1822 check_if_removed(struct phyint *pi) in check_if_removed() argument
1832 for (pr = pi->pi_prefix_list; pr != NULL; pr = next_pr) { in check_if_removed()
1842 } else if (!(pi->pi_kernel_state & PI_PRESENT)) { in check_if_removed()
1850 "on %s; recreating\n", pi->pi_name); in check_if_removed()
1863 if (!(pi->pi_kernel_state & PI_PRESENT) && in check_if_removed()
1864 (pi->pi_state & PI_PRESENT)) { in check_if_removed()
1866 "in.ndpd will no longer use it\n", pi->pi_name); in check_if_removed()
1868 for (pr = pi->pi_prefix_list; pr != NULL; pr = next_pr) { in check_if_removed()
1879 phyint_cleanup(pi); in check_if_removed()
1903 loopback_ra_enqueue(struct phyint *pi, struct nd_router_advert *ra, int len) in loopback_ra_enqueue() argument
1912 logmsg(LOG_DEBUG, "loopback_ra_enqueue for %s\n", pi->pi_name); in loopback_ra_enqueue()
1927 raq->raq_pi = pi; in loopback_ra_enqueue()
1980 struct phyint *pi; in main() local
2081 for (pi = phyints; pi != NULL; pi = pi->pi_next) { in main()
2082 if (pollfds[i].fd == pi->pi_sock) { in main()
2083 in_data(pi); in main()
2148 logperror_pi(const struct phyint *pi, const char *str) in logperror_pi() argument
2152 str, pi->pi_name); in logperror_pi()
2156 str, pi->pi_name, strerror(errno)); in logperror_pi()
2301 struct phyint *pi; in ndpd_set_autoconf() local
2303 pi = phyint_lookup((char *)ifname); in ndpd_set_autoconf()
2304 if (pi == NULL) { in ndpd_set_autoconf()
2309 pi = phyint_create((char *)ifname); in ndpd_set_autoconf()
2310 if (pi == NULL) { in ndpd_set_autoconf()
2316 pi->pi_autoconf = enable; in ndpd_set_autoconf()
2321 pi->pi_name); in ndpd_set_autoconf()
2335 struct phyint *pi; in ndpd_create_addrs() local
2340 pi = phyint_lookup((char *)ifname); in ndpd_create_addrs()
2341 if (pi == NULL) { in ndpd_create_addrs()
2346 pi = phyint_create((char *)ifname); in ndpd_create_addrs()
2347 if (pi == NULL) { in ndpd_create_addrs()
2353 } else if (pi->pi_autoconf) { in ndpd_create_addrs()
2357 check_autoconf_var_consistency(pi, stateless, stateful); in ndpd_create_addrs()
2360 pi->pi_default_token = _B_TRUE; in ndpd_create_addrs()
2376 pi->pi_token = sin6->sin6_addr; in ndpd_create_addrs()
2377 pi->pi_token_length = lifr.lifr_addrlen; in ndpd_create_addrs()
2379 pi->pi_default_token = _B_FALSE; in ndpd_create_addrs()
2380 pi->pi_token = intfid.sin6_addr; in ndpd_create_addrs()
2381 pi->pi_token_length = intfidlen; in ndpd_create_addrs()
2383 pi->pi_stateless = stateless; in ndpd_create_addrs()
2384 pi->pi_stateful = stateful; in ndpd_create_addrs()
2385 (void) strlcpy(pi->pi_ipadm_aobjname, addrobj, in ndpd_create_addrs()
2386 sizeof (pi->pi_ipadm_aobjname)); in ndpd_create_addrs()
2389 pi->pi_autoconf = _B_TRUE; in ndpd_create_addrs()
2392 if (pi->pi_sol_state == DONE_SOLICIT) in ndpd_create_addrs()
2393 pi->pi_sol_state = NO_SOLICIT; in ndpd_create_addrs()
2394 if (pi->pi_sol_state == NO_SOLICIT) in ndpd_create_addrs()
2395 check_to_solicit(pi, START_INIT_SOLICIT); in ndpd_create_addrs()
2398 "added token to interface %s\n", pi->pi_name); in ndpd_create_addrs()
2409 struct phyint *pi; in ndpd_delete_addrs() local
2414 pi = phyint_lookup((char *)ifname); in ndpd_delete_addrs()
2415 if (pi == NULL) { in ndpd_delete_addrs()
2419 if (IN6_IS_ADDR_UNSPECIFIED(&pi->pi_token)) { in ndpd_delete_addrs()
2433 for (pr = pi->pi_prefix_list; pr != NULL; pr = next_pr) { in ndpd_delete_addrs()
2461 if (pi->pi_stateful) { in ndpd_delete_addrs()
2462 (void) strncpy(lifr.lifr_name, pi->pi_name, in ndpd_delete_addrs()
2470 release_dhcp(pi); in ndpd_delete_addrs()
2477 pi->pi_token = in6addr_any; in ndpd_delete_addrs()
2478 pi->pi_token_length = 0; in ndpd_delete_addrs()
2479 pi->pi_autoconf = _B_FALSE; in ndpd_delete_addrs()
2480 pi->pi_ipadm_aobjname[0] = '\0'; in ndpd_delete_addrs()
2483 pi->pi_stateless = pi->pi_StatelessAddrConf; in ndpd_delete_addrs()
2484 pi->pi_stateful = pi->pi_StatefulAddrConf; in ndpd_delete_addrs()
2488 "removed token from interface %s\n", pi->pi_name); in ndpd_delete_addrs()
2494 check_autoconf_var_consistency(struct phyint *pi, boolean_t stateless, in check_autoconf_var_consistency() argument
2502 if ((pi->pi_StatelessAddrConf != in check_autoconf_var_consistency()
2504 stateless != pi->pi_StatelessAddrConf) || in check_autoconf_var_consistency()
2505 (pi->pi_StatefulAddrConf != in check_autoconf_var_consistency()
2507 stateful != pi->pi_StatefulAddrConf)) { in check_autoconf_var_consistency()
2511 "interface %s\n", pi->pi_name); in check_autoconf_var_consistency()
2528 phyint_check_ipadm_intfid(struct phyint *pi) in phyint_check_ipadm_intfid() argument
2542 status = ipadm_addr_info(iph, pi->pi_name, &addrinfo, in phyint_check_ipadm_intfid()
2548 pi->pi_autoconf = _B_TRUE; in phyint_check_ipadm_intfid()
2557 pi->pi_token = sin6->sin6_addr; in phyint_check_ipadm_intfid()
2558 pi->pi_token._S6_un._S6_u32[0] = 0; in phyint_check_ipadm_intfid()
2559 pi->pi_token._S6_un._S6_u32[1] = 0; in phyint_check_ipadm_intfid()
2560 pi->pi_autoconf = _B_TRUE; in phyint_check_ipadm_intfid()
2561 (void) strlcpy(pi->pi_ipadm_aobjname, in phyint_check_ipadm_intfid()
2563 sizeof (pi->pi_ipadm_aobjname)); in phyint_check_ipadm_intfid()
2572 pi->pi_autoconf = _B_FALSE; in phyint_check_ipadm_intfid()
2576 pi->pi_autoconf = _B_FALSE; in phyint_check_ipadm_intfid()
2580 if (!pi->pi_autoconf) { in phyint_check_ipadm_intfid()
2581 pi->pi_token = in6addr_any; in phyint_check_ipadm_intfid()
2582 pi->pi_token_length = 0; in phyint_check_ipadm_intfid()