Lines Matching full:ifi

341 	struct ifinfo *ifi;
344 ifi = NULL;
346 TAILQ_FOREACH(ifi, ifi_head, ifi_next) {
348 if (ifindex == ifi->ifi_ifindex)
351 if (strncmp(ifname, ifi->ifi_ifname,
352 sizeof(ifi->ifi_ifname)) == 0)
357 if (ifi == NULL) {
362 ELM_MALLOC(ifi, exit(1));
363 ifi->ifi_ifindex = 0;
364 strlcpy(ifi->ifi_ifname, ifname, sizeof(ifi->ifi_ifname));
365 ifi->ifi_rainfo = NULL;
366 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
367 TAILQ_INSERT_TAIL(ifi_head, ifi, ifi_next);
370 ifi->ifi_persist = 1;
373 ifi->ifi_ifname);
375 ifi->ifi_ifname, ifi->ifi_state);
376 return (ifi);
380 update_ifinfo_nd_flags(struct ifinfo *ifi)
393 strlcpy(nd.ifname, ifi->ifi_ifname,
402 ifi->ifi_nd_flags = nd.ndi.flags;
414 struct ifinfo *ifi = NULL;
504 TAILQ_FOREACH(ifi, ifi_head, ifi_next) {
505 if (ifm->ifm_index == ifi->ifi_ifindex)
507 if (strncmp(ifname, ifi->ifi_ifname,
511 if (ifi == NULL) {
515 ELM_MALLOC(ifi, exit(1));
516 ifi->ifi_rainfo = NULL;
517 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
518 ifi->ifi_persist = 0;
522 ifi->ifi_ifindex = ifm->ifm_index;
525 strlcpy(ifi->ifi_ifname, ifname, IFNAMSIZ);
531 free(ifi);
536 ifi->ifi_phymtu = ifm->ifm_data.ifi_mtu;
537 if (ifi->ifi_phymtu == 0) {
540 strlcpy(ifr.ifr_name, ifi->ifi_ifname,
549 free(ifi);
552 ifi->ifi_phymtu = ifr.ifr_mtu;
553 if (ifi->ifi_phymtu == 0) {
557 __func__, ifi->ifi_ifname,
559 ifi->ifi_phymtu = IPV6_MMTU;
565 error = update_ifinfo_nd_flags(ifi);
568 free(ifi);
577 memcpy(&ifi->ifi_sdl,
579 sizeof(ifi->ifi_sdl));
582 memset(&ifi->ifi_sdl, 0,
583 sizeof(ifi->ifi_sdl));
586 ifi->ifi_flags = ifm->ifm_flags;
589 ifi->ifi_type = ifm->ifm_type;
601 __func__, ifi->ifi_ifname, ifi->ifi_ifindex);
602 TAILQ_INSERT_TAIL(ifi_head, ifi, ifi_next);
613 return (ifi);