Lines Matching refs:ifi

342 	struct ifinfo *ifi;
345 ifi = NULL;
347 TAILQ_FOREACH(ifi, ifi_head, ifi_next) {
349 if (ifindex == ifi->ifi_ifindex)
352 if (strncmp(ifname, ifi->ifi_ifname,
353 sizeof(ifi->ifi_ifname)) == 0)
358 if (ifi == NULL) {
363 ELM_MALLOC(ifi, exit(1));
364 ifi->ifi_ifindex = 0;
365 strlcpy(ifi->ifi_ifname, ifname, sizeof(ifi->ifi_ifname));
366 ifi->ifi_rainfo = NULL;
367 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
368 TAILQ_INSERT_TAIL(ifi_head, ifi, ifi_next);
371 ifi->ifi_persist = 1;
374 ifi->ifi_ifname);
376 ifi->ifi_ifname, ifi->ifi_state);
377 return (ifi);
381 update_ifinfo_nd_flags(struct ifinfo *ifi)
394 strlcpy(nd.ifname, ifi->ifi_ifname,
403 ifi->ifi_nd_flags = nd.ndi.flags;
415 struct ifinfo *ifi = NULL;
505 TAILQ_FOREACH(ifi, ifi_head, ifi_next) {
506 if (ifm->ifm_index == ifi->ifi_ifindex)
508 if (strncmp(ifname, ifi->ifi_ifname,
512 if (ifi == NULL) {
516 ELM_MALLOC(ifi, exit(1));
517 ifi->ifi_rainfo = NULL;
518 ifi->ifi_state = IFI_STATE_UNCONFIGURED;
519 ifi->ifi_persist = 0;
523 ifi->ifi_ifindex = ifm->ifm_index;
526 strlcpy(ifi->ifi_ifname, ifname, IFNAMSIZ);
532 free(ifi);
537 ifi->ifi_phymtu = ifm->ifm_data.ifi_mtu;
538 if (ifi->ifi_phymtu == 0) {
541 strlcpy(ifr.ifr_name, ifi->ifi_ifname,
550 free(ifi);
553 ifi->ifi_phymtu = ifr.ifr_mtu;
554 if (ifi->ifi_phymtu == 0) {
558 __func__, ifi->ifi_ifname,
560 ifi->ifi_phymtu = IPV6_MMTU;
566 error = update_ifinfo_nd_flags(ifi);
569 free(ifi);
578 memcpy(&ifi->ifi_sdl,
580 sizeof(ifi->ifi_sdl));
583 memset(&ifi->ifi_sdl, 0,
584 sizeof(ifi->ifi_sdl));
587 ifi->ifi_flags = ifm->ifm_flags;
590 ifi->ifi_type = ifm->ifm_type;
602 __func__, ifi->ifi_ifname, ifi->ifi_ifindex);
603 TAILQ_INSERT_TAIL(ifi_head, ifi, ifi_next);
614 return (ifi);