Lines Matching refs:aw
422 pfi_dynaddr_setup(struct pf_addr_wrap *aw, sa_family_t af)
429 if (aw->type != PF_ADDR_DYNIFTL)
436 if (!strcmp(aw->v.ifname, "self"))
439 dyn->pfid_kif = pfi_kif_get(aw->v.ifname);
446 dyn->pfid_net = pfi_unmask(&aw->v.a.mask);
449 strlcpy(tblname, aw->v.ifname, sizeof(tblname));
450 if (aw->iflags & PFI_AFLAG_NETWORK)
452 if (aw->iflags & PFI_AFLAG_BROADCAST)
454 if (aw->iflags & PFI_AFLAG_PEER)
456 if (aw->iflags & PFI_AFLAG_NOALIAS)
472 dyn->pfid_iflags = aw->iflags;
476 aw->p.dyn = dyn;
660 pfi_dynaddr_remove(struct pf_addr_wrap *aw)
664 if (aw->type != PF_ADDR_DYNIFTL || aw->p.dyn == NULL ||
665 aw->p.dyn->pfid_kif == NULL || aw->p.dyn->pfid_kt == NULL)
669 TAILQ_REMOVE(&aw->p.dyn->pfid_kif->pfik_dynaddrs, aw->p.dyn, entry);
670 pfi_kif_unref(aw->p.dyn->pfid_kif, PFI_KIF_REF_RULE);
671 aw->p.dyn->pfid_kif = NULL;
672 pfr_detach_table(aw->p.dyn->pfid_kt);
673 aw->p.dyn->pfid_kt = NULL;
674 pool_put(&pfi_addr_pl, aw->p.dyn);
675 aw
680 pfi_dynaddr_copyout(struct pf_addr_wrap *aw)
682 if (aw->type != PF_ADDR_DYNIFTL || aw->p.dyn == NULL ||
683 aw->p.dyn->pfid_kif == NULL)
685 aw->p.dyncnt = aw->p.dyn->pfid_acnt4 + aw->p.dyn->pfid_acnt6;