Lines Matching refs:ifi
372 struct ifinfo *ifi; in rtadvd_shutdown() local
381 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtadvd_shutdown()
385 if (!(ifi->ifi_flags & IFF_UP) && in rtadvd_shutdown()
386 ifi->ifi_ra_timer != NULL) { in rtadvd_shutdown()
387 ifi->ifi_state = IFI_STATE_UNCONFIGURED; in rtadvd_shutdown()
388 rtadvd_remove_timer(ifi->ifi_ra_timer); in rtadvd_shutdown()
389 ifi->ifi_ra_timer = NULL; in rtadvd_shutdown()
392 __func__, ifi->ifi_ifname, in rtadvd_shutdown()
393 ifi->ifi_ifindex); in rtadvd_shutdown()
396 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtadvd_shutdown()
397 if (ifi->ifi_ra_timer != NULL) in rtadvd_shutdown()
400 if (ifi == NULL) { in rtadvd_shutdown()
421 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtadvd_shutdown()
422 if (!ifi->ifi_persist) in rtadvd_shutdown()
424 if (ifi->ifi_state == IFI_STATE_UNCONFIGURED) in rtadvd_shutdown()
426 if (ifi->ifi_ra_timer == NULL) in rtadvd_shutdown()
428 if (ifi->ifi_ra_lastsent.tv_sec == 0 && in rtadvd_shutdown()
429 ifi->ifi_ra_lastsent.tv_nsec == 0 && in rtadvd_shutdown()
430 ifi->ifi_ra_timer != NULL) { in rtadvd_shutdown()
435 rtadvd_remove_timer(ifi->ifi_ra_timer); in rtadvd_shutdown()
436 ifi->ifi_ra_timer = NULL; in rtadvd_shutdown()
437 ifi->ifi_state = IFI_STATE_UNCONFIGURED; in rtadvd_shutdown()
441 ifi->ifi_state = IFI_STATE_TRANSITIVE; in rtadvd_shutdown()
444 ifi->ifi_rainfo_trans = ifi->ifi_rainfo; in rtadvd_shutdown()
445 ifi->ifi_rainfo = NULL; in rtadvd_shutdown()
447 ifi->ifi_burstcount = MAX_FINAL_RTR_ADVERTISEMENTS; in rtadvd_shutdown()
448 ifi->ifi_burstinterval = MIN_DELAY_BETWEEN_RAS; in rtadvd_shutdown()
450 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm); in rtadvd_shutdown()
451 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm, in rtadvd_shutdown()
452 ifi->ifi_ra_timer); in rtadvd_shutdown()
472 struct ifinfo *ifi; in rtmsg_input() local
557 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in rtmsg_input()
558 if (ifi->ifi_ifindex in rtmsg_input()
560 ifi->ifi_ifindex = 0; in rtmsg_input()
576 ifi = if_indextoifinfo(ifindex); in rtmsg_input()
577 if (ifi == NULL) { in rtmsg_input()
583 rai = ifi->ifi_rainfo; in rtmsg_input()
588 __func__, ifi->ifi_ifname); in rtmsg_input()
592 oldifflags = ifi->ifi_flags; in rtmsg_input()
629 plen, ifi->ifi_ifname); in rtmsg_input()
657 plen, ifi->ifi_ifname); in rtmsg_input()
678 !(ifi->ifi_flags & IFF_UP)) { in rtmsg_input()
681 ifi->ifi_ifname); in rtmsg_input()
682 rtadvd_remove_timer(ifi->ifi_ra_timer); in rtmsg_input()
683 ifi->ifi_ra_timer = NULL; in rtmsg_input()
685 (ifi->ifi_flags & IFF_UP)) { in rtmsg_input()
688 ifi->ifi_ifname); in rtmsg_input()
690 ifi->ifi_state = IFI_STATE_TRANSITIVE; in rtmsg_input()
691 ifi->ifi_burstcount = in rtmsg_input()
693 ifi->ifi_burstinterval = in rtmsg_input()
696 ifi->ifi_ra_timer = rtadvd_add_timer(ra_timeout, in rtmsg_input()
697 ra_timer_update, ifi, ifi); in rtmsg_input()
698 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm); in rtmsg_input()
699 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm, in rtmsg_input()
700 ifi->ifi_ra_timer); in rtmsg_input()
702 (ifi->ifi_flags & IFF_UP)) { in rtmsg_input()
707 set_short_delay(ifi); in rtmsg_input()
728 struct ifinfo *ifi; in rtadvd_input() local
774 ifi = if_indextoifinfo(pi->ipi6_ifindex); in rtadvd_input()
775 if (ifi == NULL || !(ifi->ifi_flags & IFF_UP)) { in rtadvd_input()
779 (ifi == NULL) ? "[gone]" : ifi->ifi_ifname); in rtadvd_input()
915 struct ifinfo *ifi; in rs_input() local
953 ifi = if_indextoifinfo(pi->ipi6_ifindex); in rs_input()
954 if (ifi == NULL) { in rs_input()
960 rai = ifi->ifi_rainfo; in rs_input()
989 if (ifi->ifi_rs_waitcount++) in rs_input()
992 set_short_delay(ifi); in rs_input()
1000 set_short_delay(struct ifinfo *ifi) in set_short_delay() argument
1005 if (ifi->ifi_ra_timer == NULL) in set_short_delay()
1021 rest = rtadvd_timer_rest(ifi->ifi_ra_timer); in set_short_delay()
1036 TS_SUB(&now, &ifi->ifi_ra_lastsent, &tm_tmp); in set_short_delay()
1043 rtadvd_set_timer(&interval, ifi->ifi_ra_timer); in set_short_delay()
1049 struct ifinfo *ifi; in check_accept_rtadv() local
1051 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in check_accept_rtadv()
1052 if (ifi->ifi_ifindex == idx) in check_accept_rtadv()
1055 if (ifi == NULL) { in check_accept_rtadv()
1065 if (update_ifinfo_nd_flags(ifi) != 0) { in check_accept_rtadv()
1070 return (ifi->ifi_nd_flags & ND6_IFF_ACCEPT_RTADV); in check_accept_rtadv()
1078 struct ifinfo *ifi; in ra_input() local
1111 ifi = if_indextoifinfo(pi->ipi6_ifindex); in ra_input()
1112 if (ifi->ifi_rainfo == NULL) { in ra_input()
1122 rai = ifi->ifi_rainfo; in ra_input()
1123 ifi->ifi_rainput++; in ra_input()
1125 ifi->ifi_rainput); in ra_input()
1133 ifi->ifi_ifname, nra->nd_ra_curhoplimit, in ra_input()
1144 ifi->ifi_ifname, on_off[!rai->rai_managedflg], in ra_input()
1155 ifi->ifi_ifname, on_off[!rai->rai_otherflg], in ra_input()
1167 ifi->ifi_ifname, reachabletime, in ra_input()
1179 ifi->ifi_ifname, retranstimer, in ra_input()
1191 ifi->ifi_ifname, mtu, in ra_input()
1212 ifi->ifi_rainconsistent++; in ra_input()
1230 struct ifinfo *ifi; in prefix_check() local
1242 ifi = rai->rai_ifinfo; in prefix_check()
1255 sizeof(ntopbuf)), ifi->ifi_ifname); in prefix_check()
1266 sizeof(ntopbuf)), ifi->ifi_ifname); in prefix_check()
1292 ifi->ifi_ifname, preferred_time, in prefix_check()
1306 ifi->ifi_ifname, preferred_time, in prefix_check()
1325 ifi->ifi_ifname, preferred_time, in prefix_check()
1339 ifi->ifi_ifname, valid_time, in prefix_check()
1630 struct ifinfo *ifi; in if_indextoifinfo() local
1637 TAILQ_FOREACH(ifi, &ifilist, ifi_next) { in if_indextoifinfo()
1638 if (ifi->ifi_ifindex == idx) in if_indextoifinfo()
1639 return (ifi); in if_indextoifinfo()
1642 if (ifi != NULL) in if_indextoifinfo()
1653 ra_output(struct ifinfo *ifi) in ra_output() argument
1661 switch (ifi->ifi_state) { in ra_output()
1663 rai = ifi->ifi_rainfo; in ra_output()
1666 rai = ifi->ifi_rainfo_trans; in ra_output()
1671 __func__, ifi->ifi_ifname); in ra_output()
1679 __func__, ifi->ifi_ifname); in ra_output()
1682 if (!(ifi->ifi_flags & IFF_UP)) { in ra_output()
1685 __func__, ifi->ifi_ifname); in ra_output()
1706 check_accept_rtadv(ifi->ifi_ifindex), in ra_output()
1708 ifi->ifi_ifname); in ra_output()
1718 if (check_accept_rtadv(ifi->ifi_ifindex)) { in ra_output()
1722 " Ignored.", ifi->ifi_ifname); in ra_output()
1740 pi->ipi6_ifindex = ifi->ifi_ifindex; in ra_output()
1755 __func__, ifi->ifi_ifname, ifi->ifi_rs_waitcount); in ra_output()
1762 __func__, ifi->ifi_ifname, in ra_output()
1778 clock_gettime(CLOCK_MONOTONIC_FAST, &ifi->ifi_ra_lastsent); in ra_output()
1781 ifi->ifi_rs_waitcount = 0; in ra_output()
1782 ifi->ifi_raoutput++; in ra_output()
1784 switch (ifi->ifi_state) { in ra_output()
1786 if (ifi->ifi_burstcount > 0) in ra_output()
1787 ifi->ifi_burstcount--; in ra_output()
1790 ifi->ifi_burstcount--; in ra_output()
1791 if (ifi->ifi_burstcount == 0) { in ra_output()
1792 if (ifi->ifi_rainfo == ifi->ifi_rainfo_trans) { in ra_output()
1794 if (ifi->ifi_rainfo_trans != NULL) in ra_output()
1795 ifi->ifi_rainfo_trans = NULL; in ra_output()
1799 if (ifi->ifi_rainfo_trans != NULL) { in ra_output()
1800 rm_rainfo(ifi->ifi_rainfo_trans); in ra_output()
1801 ifi->ifi_rainfo_trans = NULL; in ra_output()
1804 if (ifi->ifi_rainfo != NULL) { in ra_output()
1813 ifi->ifi_state = IFI_STATE_CONFIGURED; in ra_output()
1817 ifi->ifi_ifname); in ra_output()
1828 ifi->ifi_state = IFI_STATE_UNCONFIGURED; in ra_output()
1832 ifi->ifi_ifname); in ra_output()
1834 ifi->ifi_ifindex); in ra_output()
1847 struct ifinfo *ifi; in ra_timeout() local
1849 ifi = (struct ifinfo *)arg; in ra_timeout()
1851 __func__, ifi->ifi_ifname); in ra_timeout()
1853 ra_output(ifi); in ra_timeout()
1855 return (ifi->ifi_ra_timer); in ra_timeout()
1864 struct ifinfo *ifi; in ra_timer_update() local
1866 ifi = (struct ifinfo *)arg; in ra_timer_update()
1867 rai = ifi->ifi_rainfo; in ra_timer_update()
1870 switch (ifi->ifi_state) { in ra_timer_update()
1905 interval = ifi->ifi_burstinterval; in ra_timer_update()
1914 __func__, ifi->ifi_ifname, in ra_timer_update()