Lines Matching defs:ifi

343 	struct ifinfo *ifi;
346 ifi = NULL;
348 TAILQ_FOREACH(ifi, ifi_head, ifi_next) {
350 if (ifindex == ifi->ifi_ifindex)
353 if (strncmp(ifname, ifi->ifi_ifname,
354 sizeof(ifi->ifi_ifname)) == 0)
359 if (ifi == NULL) {
364 ELM_MALLOC(ifi, exit(1));
365 ifi->ifi_ifindex = 0;
366 strlcpy(ifi->ifi_ifname, ifname, sizeof(ifi->ifi_ifname));
367 ifi->ifi_rainfo = NULL;
368 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
369 TAILQ_INSERT_TAIL(ifi_head, ifi, ifi_next);
372 ifi->ifi_persist = 1;
375 ifi->ifi_ifname);
377 ifi->ifi_ifname, ifi->ifi_state);
378 return (ifi);
382 update_ifinfo_nd_flags(struct ifinfo *ifi)
395 strlcpy(nd.ifname, ifi->ifi_ifname,
404 ifi->ifi_nd_flags = nd.ndi.flags;
414 struct ifinfo *ifi = NULL;
479 TAILQ_FOREACH(ifi, ifi_head, ifi_next) {
480 if (ifm->ifm_index == ifi->ifi_ifindex)
483 if (strncmp(ifname, ifi->ifi_ifname,
487 if (ifi == NULL) {
491 ELM_MALLOC(ifi, exit(1));
492 ifi->ifi_rainfo = NULL;
493 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
494 ifi->ifi_persist = 0;
498 ifi->ifi_ifindex = ifm->ifm_index;
501 if_indextoname(ifm->ifm_index, ifi->ifi_ifname);
502 if (ifi->ifi_ifname == NULL) {
507 free(ifi);
515 free(ifi);
520 ifi->ifi_phymtu = ifm->ifm_data.ifi_mtu;
521 if (ifi->ifi_phymtu == 0) {
524 strlcpy(ifr.ifr_name, ifi->ifi_ifname,
533 free(ifi);
536 ifi->ifi_phymtu = ifr.ifr_mtu;
537 if (ifi->ifi_phymtu == 0) {
541 __func__, ifi->ifi_ifname,
543 ifi->ifi_phymtu = IPV6_MMTU;
549 error = update_ifinfo_nd_flags(ifi);
552 free(ifi);
561 memcpy(&ifi->ifi_sdl,
563 sizeof(ifi->ifi_sdl));
566 memset(&ifi->ifi_sdl, 0,
567 sizeof(ifi->ifi_sdl));
570 ifi->ifi_flags = ifm->ifm_flags;
573 ifi->ifi_type = ifm->ifm_type;
585 __func__, ifi->ifi_ifname, ifi->ifi_ifindex);
586 TAILQ_INSERT_TAIL(ifi_head, ifi, ifi_next);
597 return (ifi);