Lines Matching defs:kif

146 	struct pfi_kif		*kif;
151 if ((kif = RB_FIND(pfi_ifhead, &pfi_ifs,
153 return (kif);
156 if ((kif = _MALLOC(sizeof (*kif), PFI_MTYPE, M_WAITOK|M_ZERO)) == NULL)
159 strlcpy(kif->pfik_name, kif_name, sizeof (kif->pfik_name));
160 kif->pfik_tzero = pf_calendar_time_second();
161 TAILQ_INIT(&kif->pfik_dynaddrs);
163 RB_INSERT(pfi_ifhead, &pfi_ifs, kif);
164 return (kif);
168 pfi_kif_ref(struct pfi_kif *kif, enum pfi_kif_refs what)
172 kif->pfik_rules++;
175 kif->pfik_states++;
183 pfi_kif_unref(struct pfi_kif *kif, enum pfi_kif_refs what)
185 if (kif == NULL)
192 if (kif->pfik_rules <= 0) {
196 kif->pfik_rules--;
199 if (kif->pfik_states <= 0) {
203 kif->pfik_states--;
209 if (kif->pfik_ifp != NULL || kif == pfi_all)
212 if (kif->pfik_rules || kif->pfik_states)
215 RB_REMOVE(pfi_ifhead, &pfi_ifs, kif);
216 _FREE(kif, PFI_MTYPE);
232 struct pfi_kif *kif;
237 if ((kif = pfi_kif_get(if_name(ifp))) == NULL)
241 kif->pfik_ifp = ifp;
242 ifp->if_pf_kif = kif;
245 pfi_kif_update(kif);
254 struct pfi_kif *kif;
258 if ((kif = (struct pfi_kif *)ifp->if_pf_kif) == NULL)
262 pfi_kif_update(kif);
265 kif->pfik_ifp = NULL;
269 pfi_kif_unref(kif, PFI_KIF_REF_NONE);
379 pfi_kif_update(struct pfi_kif *kif)
386 TAILQ_FOREACH(p, &kif->pfik_dynaddrs, entry)
393 struct pfi_kif *kif;
399 kif = dyn->pfid_kif;
404 pfi_table_update(kt, kif, dyn->pfid_net, dyn->pfid_iflags);
411 pfi_table_update(struct pfr_ktable *kt, struct pfi_kif *kif, int net, int flags)
417 if (kif->pfik_ifp != NULL)
418 pfi_instance_add(kif->pfik_ifp, net, flags);
579 struct pfi_kif *kif = (struct pfi_kif *)v;
584 pfi_kif_update(kif);