Lines Matching refs:aw
311 pfi_dynaddr_setup(struct pf_addr_wrap *aw, sa_family_t af)
320 if (aw->type != PF_ADDR_DYNIFTL)
326 if (strcmp(aw->v.ifname, "self") == 0)
329 dyn->pfid_kif = pfi_kif_get(aw->v.ifname);
336 dyn->pfid_net = pfi_unmask(&aw->v.a.mask);
339 strlcpy(tblname, aw->v.ifname, sizeof (tblname));
340 if (aw->iflags & PFI_AFLAG_NETWORK)
342 if (aw->iflags & PFI_AFLAG_BROADCAST)
344 if (aw->iflags & PFI_AFLAG_PEER)
346 if (aw->iflags & PFI_AFLAG_NOALIAS)
362 dyn->pfid_iflags = aw->iflags;
366 aw->p.dyn = dyn;
555 pfi_dynaddr_remove(struct pf_addr_wrap *aw)
557 if (aw->type != PF_ADDR_DYNIFTL || aw->p.dyn == NULL ||
558 aw->p.dyn->pfid_kif == NULL || aw->p.dyn->pfid_kt == NULL)
561 TAILQ_REMOVE(&aw->p.dyn->pfid_kif->pfik_dynaddrs, aw->p.dyn, entry);
562 pfi_kif_unref(aw->p.dyn->pfid_kif, PFI_KIF_REF_RULE);
563 aw->p.dyn->pfid_kif = NULL;
564 pfr_detach_table(aw->p.dyn->pfid_kt);
565 aw->p.dyn->pfid_kt = NULL;
566 pool_put(&pfi_addr_pl, aw->p.dyn);
567 aw->p.dyn = NULL;
571 pfi_dynaddr_copyout(struct pf_addr_wrap *aw)
573 if (aw->type != PF_ADDR_DYNIFTL || aw->p.dyn == NULL ||
574 aw->p.dyn->pfid_kif == NULL)
576 aw->p.dyncnt = aw->p.dyn->pfid_acnt4 + aw->p.dyn->pfid_acnt6;