Lines Matching defs:ifi

151 	struct ifinfo *ifi;
156 TAILQ_FOREACH(ifi, &ifilist, ifi_next) {
159 strcmp(ifi->ifi_ifname, ifname) != 0)
162 if (!ifi->ifi_persist) {
166 ifi->ifi_ifname);
170 if (ifi->ifi_ifindex == 0) {
174 ifi->ifi_ifname);
177 if (getconfig(ifi) == NULL) {
181 ifi->ifi_ifname);
191 struct ifinfo *ifi;
193 ifi = if_indextoifinfo(idx);
194 if (ifi == NULL) {
200 return (rm_ifinfo(ifi));
204 rm_ifinfo(struct ifinfo *ifi)
208 syslog(LOG_DEBUG, "<%s> enter (%s).", __func__, ifi->ifi_ifname);
209 switch (ifi->ifi_state) {
214 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
217 __func__, ifi->ifi_ifname);
222 rtadvd_remove_timer(ifi->ifi_ra_timer);
223 ifi->ifi_ra_timer = NULL;
227 /* clean up ifi */
228 if (!ifi->ifi_persist) {
229 TAILQ_REMOVE(&ifilist, ifi, ifi_next);
231 __func__, ifi->ifi_ifindex);
232 free(ifi);
235 update_persist_ifinfo(&ifilist, ifi->ifi_ifname);
237 __func__, ifi->ifi_ifname);
241 switch (ifi->ifi_state) {
243 if (ifi->ifi_rainfo != NULL) {
244 error = rm_rainfo(ifi->ifi_rainfo);
247 ifi->ifi_rainfo = NULL;
251 if (ifi->ifi_rainfo == ifi->ifi_rainfo_trans) {
252 if (ifi->ifi_rainfo != NULL) {
253 error = rm_rainfo(ifi->ifi_rainfo);
256 ifi->ifi_rainfo = NULL;
257 ifi->ifi_rainfo_trans = NULL;
260 if (ifi->ifi_rainfo != NULL) {
261 error = rm_rainfo(ifi->ifi_rainfo);
264 ifi->ifi_rainfo = NULL;
266 if (ifi->ifi_rainfo_trans != NULL) {
267 error = rm_rainfo(ifi->ifi_rainfo_trans);
270 ifi->ifi_rainfo_trans = NULL;
275 syslog(LOG_DEBUG, "<%s> leave (%s).", __func__, ifi->ifi_ifname);
328 getconfig(struct ifinfo *ifi)
341 if (ifi == NULL) /* if does not exist */
344 if (ifi->ifi_state == IFI_STATE_TRANSITIVE &&
345 ifi->ifi_rainfo == NULL) {
347 __func__, ifi->ifi_ifname);
351 if ((stat = agetent(tbuf, ifi->ifi_ifname)) <= 0) {
357 __func__, ifi->ifi_ifname);
366 rai->rai_ifinfo = ifi;
380 if (ifi->ifi_sdl.sdl_type == 0) {
383 __func__, ifi->ifi_ifname);
396 ifi->ifi_ifname, MIN_MAXINTERVAL, MAX_MAXINTERVAL);
407 __func__, val, ifi->ifi_ifname, MIN_MININTERVAL,
444 __func__, rai->rai_rtpref, ifi->ifi_ifname);
454 __func__, val, ifi->ifi_ifname, rai->rai_maxinterval,
465 __func__, val, ifi->ifi_ifname, MAXREACHABLETIME);
473 __func__, val64, ifi->ifi_ifname);
518 __func__, addr, ifi->ifi_ifname);
525 __func__, addr, ifi->ifi_ifname);
532 __func__, val, addr, ifi->ifi_ifname);
557 addr, pfx->pfx_prefixlen, ifi->ifi_ifname);
577 addr, pfx->pfx_prefixlen, ifi->ifi_ifname);
603 __func__, val64, ifi->ifi_ifname);
612 rai->rai_linkmtu = ifi->ifi_phymtu;
615 rai->rai_linkmtu > ifi->ifi_phymtu) {
619 __func__, rai->rai_linkmtu, ifi->ifi_ifname,
620 IPV6_MMTU, ifi->ifi_phymtu);
635 strncpy(ndi.ifname, ifi->ifi_ifname, sizeof(ndi.ifname));
638 __func__, ifi->ifi_ifname, strerror(errno));
646 __func__, ifi->ifi_ifname, strerror(errno));
689 __func__, addr, ifi->ifi_ifname);
696 __func__, addr, ifi->ifi_ifname);
716 __func__, val, addr, ifi->ifi_ifname);
752 rti->rti_prefixlen, ifi->ifi_ifname);
773 ifi->ifi_ifname);
781 ifi->ifi_ifname);
829 entbuf, val, ifi->ifi_ifname, rai->rai_maxinterval,
878 entbuf, val, ifi->ifi_ifname, rai->rai_maxinterval,
902 switch (ifi->ifi_state) {
906 error = sock_mc_join(&sock, ifi->ifi_ifindex);
910 ifi->ifi_state = IFI_STATE_TRANSITIVE;
911 ifi->ifi_burstcount = MAX_INITIAL_RTR_ADVERTISEMENTS;
912 ifi->ifi_burstinterval = MAX_INITIAL_RTR_ADVERT_INTERVAL;
915 ifi->ifi_rainfo = rai;
916 ifi->ifi_rainfo_trans = rai;
919 if (ifi->ifi_ra_timer == NULL)
920 ifi->ifi_ra_timer = rtadvd_add_timer(ra_timeout,
921 ra_timer_update, ifi, ifi);
922 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm);
923 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm,
924 ifi->ifi_ra_timer);
928 __func__, ifi->ifi_ifname);
932 rai_old = ifi->ifi_rainfo;
937 ifi = NULL;
949 ifi->ifi_rainfo_trans = rai_old;
950 ifi->ifi_state = IFI_STATE_TRANSITIVE;
951 ifi->ifi_burstcount = MAX_FINAL_RTR_ADVERTISEMENTS;
952 ifi->ifi_burstinterval = MIN_DELAY_BETWEEN_RAS;
954 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm);
955 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm,
956 ifi->ifi_ra_timer);
961 __func__, ifi->ifi_ifname);
963 ifi->ifi_rainfo = rai;
967 if (ifi->ifi_rainfo != NULL) {
968 if (ifi->ifi_rainfo == ifi->ifi_rainfo_trans) {
970 rm_rainfo(ifi->ifi_rainfo);
971 ifi->ifi_rainfo = rai;
972 ifi->ifi_rainfo_trans = rai;
973 ifi->ifi_burstcount =
975 ifi->ifi_burstinterval =
979 rm_rainfo(ifi->ifi_rainfo);
980 ifi->ifi_rainfo = rai;
984 ra_timer_update(ifi, &ifi->ifi_ra_timer->rat_tm);
985 rtadvd_set_timer(&ifi->ifi_ra_timer->rat_tm,
986 ifi->ifi_ra_timer);
991 __func__, ifi->ifi_ifname);
999 return (ifi);
1012 struct ifinfo *ifi;
1022 ifi = rai->rai_ifinfo;
1027 if (strcmp(ifa->ifa_name, ifi->ifi_ifname) != 0)
1071 __func__, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname);
1112 struct ifinfo *ifi;
1115 ifi = rai->rai_ifinfo;
1131 sizeof(ntopbuf)), ipr->ipr_plen, ifi->ifi_ifname);
1145 struct ifinfo *ifi;
1149 ifi = rai->rai_ifinfo;
1154 sizeof(ntopbuf)), pfx->pfx_prefixlen, ifi->ifi_ifname);
1167 struct ifinfo *ifi;
1171 ifi = rai->rai_ifinfo;
1182 pfx->pfx_prefixlen, ifi->ifi_ifname, (long)prefix_timo);
1209 struct ifinfo *ifi;
1213 ifi = rai->rai_ifinfo;
1223 sizeof(ntopbuf)), pfx->pfx_prefixlen, ifi->ifi_ifname);
1318 struct ifinfo *ifi;
1320 ifi = rai->rai_ifinfo;
1324 if ((lladdroptlen = lladdropt_length(&ifi->ifi_sdl)) == 0) {
1328 __func__, ifi->ifi_ifname);
1401 lladdropt_fill(&ifi->ifi_sdl, (struct nd_opt_hdr *)buf);