Lines Matching defs:kif
50 struct kif k;
117 struct kif_node *kif;
119 RB_FOREACH(kif, kif_tree, &kit)
120 if (!strcmp(ifname, kif->k.ifname)) {
122 &kif->k, sizeof(kif->k));
145 struct kif *
148 struct kif_node *kif;
150 RB_FOREACH(kif, kif_tree, &kit)
151 if (!strcmp(ifname, kif->k.ifname))
152 return (&kif->k);
158 kif_insert(struct kif_node *kif)
160 if (RB_INSERT(kif_tree, &kit, kif) != NULL) {
161 log_warnx("RB_INSERT(kif_tree, &kit, kif)");
162 free(kif);
170 kif_remove(struct kif_node *kif)
172 if (RB_REMOVE(kif_tree, &kit, kif) == NULL) {
173 log_warnx("RB_REMOVE(kif_tree, &kit, kif)");
177 free(kif);
184 struct kif_node *kif;
186 while ((kif = RB_MIN(kif_tree, &kit)) != NULL)
187 kif_remove(kif);
229 struct kif_node *kif;
232 if ((kif = kif_find(ifindex)) == NULL) {
238 kif->k.flags = flags;
239 kif->k.link_state = ifd->ifi_link_state;
240 kif->k.if_type = ifd->ifi_type;
241 kif->k.baudrate = ifd->ifi_baudrate;
244 LINK_STATE_IS_UP(ifd->ifi_link_state)) == kif->k.nh_reachable)
247 kif->k.nh_reachable = reachable;
248 main_imsg_compose_dvmrpe(IMSG_IFINFO, 0, &kif->k, sizeof(kif->k));
255 struct kif_node *kif;
261 if ((kif = calloc(1, sizeof(struct kif_node))) == NULL) {
266 kif->k.ifindex = ifan->ifan_index;
267 strlcpy(kif->k.ifname, ifan->ifan_name, sizeof(kif->k.ifname));
268 kif_insert(kif);
271 kif = kif_find(ifan->ifan_index);
272 if (kif != NULL)
273 kif_remove(kif);
304 struct kif_node *kif;
340 if ((kif = calloc(1, sizeof(struct kif_node))) == NULL) {
346 kif->k.ifindex = ifm.ifm_index;
347 kif->k.flags = ifm.ifm_flags;
348 kif->k.link_state = ifm.ifm_data.ifi_link_state;
349 kif->k.if_type = ifm.ifm_data.ifi_type;
350 kif->k.baudrate = ifm.ifm_data.ifi_baudrate;
351 kif->k.mtu = ifm.ifm_data.ifi_mtu;
352 kif->k.nh_reachable = (kif->k.flags & IFF_UP) &&
357 if (sdl->sdl_nlen >= sizeof(kif->k.ifname))
358 memcpy(kif->k.ifname, sdl->sdl_data,
359 sizeof(kif->k.ifname) - 1);
361 memcpy(kif->k.ifname, sdl->sdl_data,
366 kif_insert(kif);