Lines Matching refs:ifi

156 	struct ifinfo *ifi;
161 TAILQ_FOREACH(ifi, &ifilist, ifi_next) {
164 strcmp(ifi->ifi_ifname, ifname) != 0)
167 if (!ifi->ifi_persist) {
171 ifi->ifi_ifname);
175 if (ifi->ifi_ifindex == 0) {
179 ifi->ifi_ifname);
182 if (getconfig(ifi) == NULL) {
186 ifi->ifi_ifname);
196 struct ifinfo *ifi;
198 ifi = if_indextoifinfo(idx);
199 if (ifi == NULL) {
205 return (rm_ifinfo(ifi));
209 rm_ifinfo(struct ifinfo *ifi)
213 syslog(LOG_DEBUG, "<%s> enter (%s).", __func__, ifi->ifi_ifname);
214 switch (ifi->ifi_state) {
219 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
222 __func__, ifi->ifi_ifname);
227 rtadvd_remove_timer(ifi->ifi_ra_timer);
228 ifi->ifi_ra_timer = NULL;
232 /* clean up ifi */
233 if (!ifi->ifi_persist) {
234 TAILQ_REMOVE(&ifilist, ifi, ifi_next);
236 __func__, ifi->ifi_ifindex);
239 update_persist_ifinfo(&ifilist, ifi->ifi_ifname);
241 __func__, ifi->ifi_ifname);
245 switch (ifi->ifi_state) {
247 if (ifi->ifi_rainfo != NULL) {
248 error = rm_rainfo(ifi->ifi_rainfo);
251 ifi->ifi_rainfo = NULL;
255 if (ifi->ifi_rainfo == ifi->ifi_rainfo_trans) {
256 if (ifi->ifi_rainfo != NULL) {
257 error = rm_rainfo(ifi->ifi_rainfo);
260 ifi->ifi_rainfo = NULL;
261 ifi->ifi_rainfo_trans = NULL;
264 if (ifi->ifi_rainfo != NULL) {
265 error = rm_rainfo(ifi->ifi_rainfo);
268 ifi->ifi_rainfo = NULL;
270 if (ifi->ifi_rainfo_trans != NULL) {
271 error = rm_rainfo(ifi->ifi_rainfo_trans);
274 ifi->ifi_rainfo_trans = NULL;
279 syslog(LOG_DEBUG, "<%s> leave (%s).", __func__, ifi->ifi_ifname);
280 if (!ifi->ifi_persist)
281 free(ifi);
334 getconfig(struct ifinfo *ifi)
347 if (ifi == NULL) /* if does not exist */
350 if (ifi->ifi_state == IFI_STATE_TRANSITIVE &&
351 ifi->ifi_rainfo == NULL) {
353 __func__, ifi->ifi_ifname);
357 if ((stat = agetent(tbuf, ifi->ifi_ifname)) <= 0) {
363 __func__, ifi->ifi_ifname);
372 rai->rai_ifinfo = ifi;
386 if (ifi->ifi_sdl.sdl_type == 0) {
389 __func__, ifi->ifi_ifname);
402 ifi->ifi_ifname, MIN_MAXINTERVAL, MAX_MAXINTERVAL);
413 __func__, val, ifi->ifi_ifname, MIN_MININTERVAL,
450 __func__, rai->rai_rtpref, ifi->ifi_ifname);
460 __func__, val, ifi->ifi_ifname, rai->rai_maxinterval,
471 __func__, val, ifi->ifi_ifname, MAXREACHABLETIME);
479 __func__, val64, ifi->ifi_ifname);
524 __func__, addr, ifi->ifi_ifname);
531 __func__, addr, ifi->ifi_ifname);
538 __func__, val, addr, ifi->ifi_ifname);
563 addr, pfx->pfx_prefixlen, ifi->ifi_ifname);
584 addr, pfx->pfx_prefixlen, ifi->ifi_ifname);
611 __func__, val64, ifi->ifi_ifname);
620 rai->rai_linkmtu = ifi->ifi_phymtu;
623 rai->rai_linkmtu > ifi->ifi_phymtu) {
627 __func__, rai->rai_linkmtu, ifi->ifi_ifname,
628 IPV6_MMTU, ifi->ifi_phymtu);
643 strlcpy(ndi.ifname, ifi->ifi_ifname, sizeof(ndi.ifname));
646 __func__, ifi->ifi_ifname, strerror(errno));
654 __func__, ifi->ifi_ifname, strerror(errno));
697 __func__, addr, ifi->ifi_ifname);
704 __func__, addr, ifi->ifi_ifname);
724 __func__, val, addr, ifi->ifi_ifname);
760 rti->rti_prefixlen, ifi->ifi_ifname);
781 ifi->ifi_ifname);
789 ifi->ifi_ifname);
837 entbuf, val, ifi->ifi_ifname, rai->rai_maxinterval,
891 entbuf, val, ifi->ifi_ifname, rai->rai_maxinterval,
915 switch (ifi->ifi_state) {
919 error = sock_mc_join(&sock, ifi->ifi_ifindex);
923 ifi->ifi_state = IFI_STATE_TRANSITIVE;
924 ifi->ifi_burstcount = MAX_INITIAL_RTR_ADVERTISEMENTS;
925 ifi->ifi_burstinterval = MAX_INITIAL_RTR_ADVERT_INTERVAL;
928 ifi->ifi_rainfo = rai;
929 ifi->ifi_rainfo_trans = rai;
932 if (ifi->ifi_ra_timer == NULL)
933 ifi->ifi_ra_timer = rtadvd_add_timer(ra_timeout,
934 ra_timer_update, ifi, ifi);
935 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm);
936 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm,
937 ifi->ifi_ra_timer);
941 __func__, ifi->ifi_ifname);
945 rai_old = ifi->ifi_rainfo;
950 ifi = NULL;
962 ifi->ifi_rainfo_trans = rai_old;
963 ifi->ifi_state = IFI_STATE_TRANSITIVE;
964 ifi->ifi_burstcount = MAX_FINAL_RTR_ADVERTISEMENTS;
965 ifi->ifi_burstinterval = MIN_DELAY_BETWEEN_RAS;
967 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm);
968 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm,
969 ifi->ifi_ra_timer);
974 __func__, ifi->ifi_ifname);
976 ifi->ifi_rainfo = rai;
980 if (ifi->ifi_rainfo != NULL) {
981 if (ifi->ifi_rainfo == ifi->ifi_rainfo_trans) {
983 rm_rainfo(ifi->ifi_rainfo);
984 ifi->ifi_rainfo = rai;
985 ifi->ifi_rainfo_trans = rai;
986 ifi->ifi_burstcount =
988 ifi->ifi_burstinterval =
992 rm_rainfo(ifi->ifi_rainfo);
993 ifi->ifi_rainfo = rai;
997 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm);
998 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm,
999 ifi->ifi_ra_timer);
1004 __func__, ifi->ifi_ifname);
1012 return (ifi);
1025 struct ifinfo *ifi;
1035 ifi = rai->rai_ifinfo;
1040 if (strcmp(ifa->ifa_name, ifi->ifi_ifname) != 0)
1084 __func__, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname);
1125 struct ifinfo *ifi;
1128 ifi = rai->rai_ifinfo;
1144 sizeof(ntopbuf)), ipr->ipr_plen, ifi->ifi_ifname);
1158 struct ifinfo *ifi;
1162 ifi = rai->rai_ifinfo;
1167 sizeof(ntopbuf)), pfx->pfx_prefixlen, ifi->ifi_ifname);
1180 struct ifinfo *ifi;
1184 ifi = rai->rai_ifinfo;
1195 pfx->pfx_prefixlen, ifi->ifi_ifname, (long)prefix_timo);
1222 struct ifinfo *ifi;
1226 ifi = rai->rai_ifinfo;
1236 sizeof(ntopbuf)), pfx->pfx_prefixlen, ifi->ifi_ifname);
1331 struct ifinfo *ifi;
1333 ifi = rai->rai_ifinfo;
1337 if ((lladdroptlen = lladdropt_length(&ifi->ifi_sdl)) == 0) {
1341 __func__, ifi->ifi_ifname);
1414 lladdropt_fill(&ifi->ifi_sdl, (struct nd_opt_hdr *)buf);