MCPcopy Create free account
hub / github.com/F-Stack/f-stack / pf_empty_kpool

Function pf_empty_kpool

freebsd/netpfil/pf/pf_ioctl.c:395–416  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

393}
394
395static void
396pf_empty_kpool(struct pf_kpalist *poola)
397{
398 struct pf_kpooladdr *pa;
399
400 while ((pa = TAILQ_FIRST(poola)) != NULL) {
401 switch (pa->addr.type) {
402 case PF_ADDR_DYNIFTL:
403 pfi_dynaddr_remove(pa->addr.p.dyn);
404 break;
405 case PF_ADDR_TABLE:
406 /* XXX: this could be unfinished pooladdr on pabuf */
407 if (pa->addr.p.tbl != NULL)
408 pfr_detach_table(pa->addr.p.tbl);
409 break;
410 }
411 if (pa->kif)
412 pfi_kkif_unref(pa->kif);
413 TAILQ_REMOVE(poola, pa, entries);
414 free(pa, M_PFRULE);
415 }
416}
417
418static void
419pf_unlink_rule(struct pf_krulequeue *rulequeue, struct pf_krule *rule)

Callers 2

pf_free_ruleFunction · 0.85
pfioctlFunction · 0.85

Calls 4

pfi_dynaddr_removeFunction · 0.85
pfr_detach_tableFunction · 0.85
pfi_kkif_unrefFunction · 0.85
freeFunction · 0.50

Tested by

no test coverage detected