Lines Matching defs:nif
75 typedef struct nif {
76 struct nif *nf_next;
139 nif_t *nif;
142 for (nif = nif_head; nif; nif = nif->nf_next)
143 if (nif->nf_ifp == ifp)
147 if (nif == NULL) {
209 return (*nif->nf_output)(ifp, m, dst);
211 return (*nif->nf_output)(ifp, m, dst, rt);
359 nif_t *nif, *qf2;
374 for (nif = nif_head; nif; nif = nif->nf_next)
375 if (nif->nf_ifp == ifp)
377 if (nif)
386 printf("IP Filter: nifattach nif %x opt %x\n",
389 KMALLOC(nif, nif_t *);
390 if (!nif) {
396 nif->nf_ifp = ifp;
397 (void) strncpy(nif->nf_name, ifp->if_name,
398 sizeof(nif->nf_name));
399 nif->nf_name[sizeof(nif->nf_name) - 1] = '\0';
400 nif->nf_unit = ifp->if_unit;
402 nif->nf_next = nif_head;
403 nif_head = nif;
439 nif->nf_output = ifp->if_output;
444 ifp, nif->nf_output, ifp->if_output);
448 nif->nf_name, ifp->if_unit);
467 nif_t *nif, *qf2, **qp;
475 for (qp = &nif_head; (nif = *qp); ) {
477 if (nif->nf_ifp == ifp)
480 qp = &nif->nf_next;
483 printf("IP Filter: removing [%s]\n", nif->nf_name);
484 *qp = nif->nf_next;
485 KFREE(nif);
488 while ((nif = nif_head)) {
489 nif_head = nif->nf_next;
491 if (nif->nf_ifp == ifp)
495 nif->nf_name, ifp->if_unit);
499 ifp, ifp->if_output, nif->nf_output);
501 ifp->if_output = nif->nf_output;
503 KFREE(nif);