Lines Matching full:ifi

371 	struct ifinfo *ifi;  in rtadvd_shutdown()  local
380 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtadvd_shutdown()
384 if (!(ifi->ifi_flags & IFF_UP) && in rtadvd_shutdown()
385 ifi->ifi_ra_timer != NULL) { in rtadvd_shutdown()
386 ifi->ifi_state = IFI_STATE_UNCONFIGURED; in rtadvd_shutdown()
387 rtadvd_remove_timer(ifi->ifi_ra_timer); in rtadvd_shutdown()
388 ifi->ifi_ra_timer = NULL; in rtadvd_shutdown()
391 __func__, ifi->ifi_ifname, in rtadvd_shutdown()
392 ifi->ifi_ifindex); in rtadvd_shutdown()
395 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtadvd_shutdown()
396 if (ifi->ifi_ra_timer != NULL) in rtadvd_shutdown()
399 if (ifi == NULL) { in rtadvd_shutdown()
420 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtadvd_shutdown()
421 if (!ifi->ifi_persist) in rtadvd_shutdown()
423 if (ifi->ifi_state == IFI_STATE_UNCONFIGURED) in rtadvd_shutdown()
425 if (ifi->ifi_ra_timer == NULL) in rtadvd_shutdown()
427 if (ifi->ifi_ra_lastsent.tv_sec == 0 && in rtadvd_shutdown()
428 ifi->ifi_ra_lastsent.tv_nsec == 0 && in rtadvd_shutdown()
429 ifi->ifi_ra_timer != NULL) { in rtadvd_shutdown()
434 rtadvd_remove_timer(ifi->ifi_ra_timer); in rtadvd_shutdown()
435 ifi->ifi_ra_timer = NULL; in rtadvd_shutdown()
436 ifi->ifi_state = IFI_STATE_UNCONFIGURED; in rtadvd_shutdown()
440 ifi->ifi_state = IFI_STATE_TRANSITIVE; in rtadvd_shutdown()
443 ifi->ifi_rainfo_trans = ifi->ifi_rainfo; in rtadvd_shutdown()
444 ifi->ifi_rainfo = NULL; in rtadvd_shutdown()
446 ifi->ifi_burstcount = MAX_FINAL_RTR_ADVERTISEMENTS; in rtadvd_shutdown()
447 ifi->ifi_burstinterval = MIN_DELAY_BETWEEN_RAS; in rtadvd_shutdown()
449 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm); in rtadvd_shutdown()
450 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm, in rtadvd_shutdown()
451 ifi->ifi_ra_timer); in rtadvd_shutdown()
471 struct ifinfo *ifi; in rtmsg_input() local
556 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtmsg_input()
557 if (ifi->ifi_ifindex in rtmsg_input()
559 ifi->ifi_ifindex = 0; in rtmsg_input()
575 ifi = if_indextoifinfo(ifindex); in rtmsg_input()
576 if (ifi == NULL) { in rtmsg_input()
582 rai = ifi->ifi_rainfo; in rtmsg_input()
587 __func__, ifi->ifi_ifname); in rtmsg_input()
591 oldifflags = ifi->ifi_flags; in rtmsg_input()
628 plen, ifi->ifi_ifname); in rtmsg_input()
656 plen, ifi->ifi_ifname); in rtmsg_input()
677 !(ifi->ifi_flags & IFF_UP)) { in rtmsg_input()
680 ifi->ifi_ifname); in rtmsg_input()
681 rtadvd_remove_timer(ifi->ifi_ra_timer); in rtmsg_input()
682 ifi->ifi_ra_timer = NULL; in rtmsg_input()
684 (ifi->ifi_flags & IFF_UP)) { in rtmsg_input()
687 ifi->ifi_ifname); in rtmsg_input()
689 ifi->ifi_state = IFI_STATE_TRANSITIVE; in rtmsg_input()
690 ifi->ifi_burstcount = in rtmsg_input()
692 ifi->ifi_burstinterval = in rtmsg_input()
695 ifi->ifi_ra_timer = rtadvd_add_timer(ra_timeout, in rtmsg_input()
696 ra_timer_update, ifi, ifi); in rtmsg_input()
697 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm); in rtmsg_input()
698 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm, in rtmsg_input()
699 ifi->ifi_ra_timer); in rtmsg_input()
701 (ifi->ifi_flags & IFF_UP)) { in rtmsg_input()
706 set_short_delay(ifi); in rtmsg_input()
725 struct ifinfo *ifi; in rtadvd_input() local
771 ifi = if_indextoifinfo(pi->ipi6_ifindex); in rtadvd_input()
772 if (ifi == NULL || !(ifi->ifi_flags & IFF_UP)) { in rtadvd_input()
776 (ifi == NULL) ? "[gone]" : ifi->ifi_ifname); in rtadvd_input()
910 struct ifinfo *ifi; in rs_input() local
948 ifi = if_indextoifinfo(pi->ipi6_ifindex); in rs_input()
949 if (ifi == NULL) { in rs_input()
955 rai = ifi->ifi_rainfo; in rs_input()
984 if (ifi->ifi_rs_waitcount++) in rs_input()
987 set_short_delay(ifi); in rs_input()
994 set_short_delay(struct ifinfo *ifi) in set_short_delay() argument
999 if (ifi->ifi_ra_timer == NULL) in set_short_delay()
1011 rest = rtadvd_timer_rest(ifi->ifi_ra_timer); in set_short_delay()
1026 TS_SUB(&now, &ifi->ifi_ra_lastsent, &tm_tmp); in set_short_delay()
1033 rtadvd_set_timer(&interval, ifi->ifi_ra_timer); in set_short_delay()
1039 struct ifinfo *ifi; in check_accept_rtadv() local
1041 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in check_accept_rtadv()
1042 if (ifi->ifi_ifindex == idx) in check_accept_rtadv()
1045 if (ifi == NULL) { in check_accept_rtadv()
1056 if (update_ifinfo_nd_flags(ifi) != 0) { in check_accept_rtadv()
1061 return (ifi->ifi_nd_flags & ND6_IFF_ACCEPT_RTADV); in check_accept_rtadv()
1069 struct ifinfo *ifi; in ra_input() local
1102 ifi = if_indextoifinfo(pi->ipi6_ifindex); in ra_input()
1103 if (ifi->ifi_rainfo == NULL) { in ra_input()
1113 rai = ifi->ifi_rainfo; in ra_input()
1114 ifi->ifi_rainput++; in ra_input()
1115 syslog(LOG_DEBUG, "<%s> ifi->ifi_rainput = %" PRIu64, __func__, in ra_input()
1116 ifi->ifi_rainput); in ra_input()
1124 ifi->ifi_ifname, nra->nd_ra_curhoplimit, in ra_input()
1135 ifi->ifi_ifname, on_off[!rai->rai_managedflg], in ra_input()
1146 ifi->ifi_ifname, on_off[!rai->rai_otherflg], in ra_input()
1158 ifi->ifi_ifname, on_off[!rai->rai_ipv6onlyflg], in ra_input()
1171 ifi->ifi_ifname, reachabletime, in ra_input()
1183 ifi->ifi_ifname, retranstimer, in ra_input()
1195 ifi->ifi_ifname, mtu, in ra_input()
1216 ifi->ifi_rainconsistent++; in ra_input()
1233 struct ifinfo *ifi; in prefix_check() local
1245 ifi = rai->rai_ifinfo; in prefix_check()
1258 sizeof(ntopbuf)), ifi->ifi_ifname); in prefix_check()
1269 sizeof(ntopbuf)), ifi->ifi_ifname); in prefix_check()
1295 ifi->ifi_ifname, preferred_time, in prefix_check()
1309 ifi->ifi_ifname, preferred_time, in prefix_check()
1328 ifi->ifi_ifname, preferred_time, in prefix_check()
1342 ifi->ifi_ifname, valid_time, in prefix_check()
1633 struct ifinfo *ifi; in if_indextoifinfo() local
1640 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in if_indextoifinfo()
1641 if (ifi->ifi_ifindex == idx) in if_indextoifinfo()
1642 return (ifi); in if_indextoifinfo()
1645 if (ifi != NULL) in if_indextoifinfo()
1646 syslog(LOG_DEBUG, "<%s> ifi found (idx=%d)", in if_indextoifinfo()
1649 syslog(LOG_DEBUG, "<%s> ifi not found (idx=%d)", in if_indextoifinfo()
1656 ra_output(struct ifinfo *ifi) in ra_output() argument
1664 switch (ifi->ifi_state) { in ra_output()
1666 rai = ifi->ifi_rainfo; in ra_output()
1669 rai = ifi->ifi_rainfo_trans; in ra_output()
1674 __func__, ifi->ifi_ifname); in ra_output()
1682 __func__, ifi->ifi_ifname); in ra_output()
1685 if (!(ifi->ifi_flags & IFF_UP)) { in ra_output()
1688 __func__, ifi->ifi_ifname); in ra_output()
1709 check_accept_rtadv(ifi->ifi_ifindex), in ra_output()
1711 ifi->ifi_ifname); in ra_output()
1721 if (check_accept_rtadv(ifi->ifi_ifindex)) { in ra_output()
1725 " Ignored.", ifi->ifi_ifname); in ra_output()
1743 pi->ipi6_ifindex = ifi->ifi_ifindex; in ra_output()
1758 __func__, ifi->ifi_ifname, ifi->ifi_rs_waitcount); in ra_output()
1765 __func__, ifi->ifi_ifname, in ra_output()
1781 clock_gettime(CLOCK_MONOTONIC_FAST, &ifi->ifi_ra_lastsent); in ra_output()
1784 ifi->ifi_rs_waitcount = 0; in ra_output()
1785 ifi->ifi_raoutput++; in ra_output()
1787 switch (ifi->ifi_state) { in ra_output()
1789 if (ifi->ifi_burstcount > 0) in ra_output()
1790 ifi->ifi_burstcount--; in ra_output()
1793 ifi->ifi_burstcount--; in ra_output()
1794 if (ifi->ifi_burstcount == 0) { in ra_output()
1795 if (ifi->ifi_rainfo == ifi->ifi_rainfo_trans) { in ra_output()
1797 if (ifi->ifi_rainfo_trans != NULL) in ra_output()
1798 ifi->ifi_rainfo_trans = NULL; in ra_output()
1802 if (ifi->ifi_rainfo_trans != NULL) { in ra_output()
1803 rm_rainfo(ifi->ifi_rainfo_trans); in ra_output()
1804 ifi->ifi_rainfo_trans = NULL; in ra_output()
1807 if (ifi->ifi_rainfo != NULL) { in ra_output()
1816 ifi->ifi_state = IFI_STATE_CONFIGURED; in ra_output()
1820 ifi->ifi_ifname); in ra_output()
1831 ifi->ifi_state = IFI_STATE_UNCONFIGURED; in ra_output()
1835 ifi->ifi_ifname); in ra_output()
1837 ifi->ifi_ifindex); in ra_output()
1850 struct ifinfo *ifi; in ra_timeout() local
1852 ifi = (struct ifinfo *)arg; in ra_timeout()
1854 __func__, ifi->ifi_ifname); in ra_timeout()
1856 ra_output(ifi); in ra_timeout()
1858 return (ifi->ifi_ra_timer); in ra_timeout()
1867 struct ifinfo *ifi; in ra_timer_update() local
1869 ifi = (struct ifinfo *)arg; in ra_timer_update()
1870 rai = ifi->ifi_rainfo; in ra_timer_update()
1873 switch (ifi->ifi_state) { in ra_timer_update()
1903 interval = ifi->ifi_burstinterval; in ra_timer_update()
1912 __func__, ifi->ifi_ifname, in ra_timer_update()