Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf_ioctl.c
Show First 20 Lines • Show All 325 Lines • ▼ Show 20 Lines | for (int i = 0; i < PFRES_MAX; i++) | ||||
V_pf_status.counters[i] = counter_u64_alloc(M_WAITOK); | V_pf_status.counters[i] = counter_u64_alloc(M_WAITOK); | ||||
for (int i = 0; i < LCNT_MAX; i++) | for (int i = 0; i < LCNT_MAX; i++) | ||||
V_pf_status.lcounters[i] = counter_u64_alloc(M_WAITOK); | V_pf_status.lcounters[i] = counter_u64_alloc(M_WAITOK); | ||||
for (int i = 0; i < FCNT_MAX; i++) | for (int i = 0; i < FCNT_MAX; i++) | ||||
V_pf_status.fcounters[i] = counter_u64_alloc(M_WAITOK); | V_pf_status.fcounters[i] = counter_u64_alloc(M_WAITOK); | ||||
for (int i = 0; i < SCNT_MAX; i++) | for (int i = 0; i < SCNT_MAX; i++) | ||||
V_pf_status.scounters[i] = counter_u64_alloc(M_WAITOK); | V_pf_status.scounters[i] = counter_u64_alloc(M_WAITOK); | ||||
if (swi_add(NULL, "pf send", pf_intr, curvnet, SWI_NET, | if (swi_add(&V_pf_swi_ie, "pf send", pf_intr, curvnet, SWI_NET, | ||||
INTR_MPSAFE, &V_pf_swi_cookie) != 0) | INTR_MPSAFE, &V_pf_swi_cookie) != 0) | ||||
/* XXXGL: leaked all above. */ | /* XXXGL: leaked all above. */ | ||||
return; | return; | ||||
} | } | ||||
static struct pf_kpool * | static struct pf_kpool * | ||||
pf_get_kpool(char *anchor, u_int32_t ticket, u_int8_t rule_action, | pf_get_kpool(char *anchor, u_int32_t ticket, u_int8_t rule_action, | ||||
u_int32_t rule_number, u_int8_t r_last, u_int8_t active, | u_int32_t rule_number, u_int8_t r_last, u_int8_t active, | ||||
▲ Show 20 Lines • Show All 4,322 Lines • ▼ Show 20 Lines | pf_load(void) | ||||
pfi_initialize(); | pfi_initialize(); | ||||
return (0); | return (0); | ||||
} | } | ||||
static void | static void | ||||
pf_unload_vnet(void) | pf_unload_vnet(void) | ||||
{ | { | ||||
int ret; | |||||
V_pf_vnet_active = 0; | V_pf_vnet_active = 0; | ||||
V_pf_status.running = 0; | V_pf_status.running = 0; | ||||
dehook_pf(); | dehook_pf(); | ||||
PF_RULES_WLOCK(); | PF_RULES_WLOCK(); | ||||
shutdown_pf(); | shutdown_pf(); | ||||
PF_RULES_WUNLOCK(); | PF_RULES_WUNLOCK(); | ||||
swi_remove(V_pf_swi_cookie); | ret = swi_remove(V_pf_swi_cookie); | ||||
MPASS(ret == 0); | |||||
ret = intr_event_destroy(V_pf_swi_ie); | |||||
MPASS(ret == 0); | |||||
pf_unload_vnet_purge(); | pf_unload_vnet_purge(); | ||||
pf_normalize_cleanup(); | pf_normalize_cleanup(); | ||||
PF_RULES_WLOCK(); | PF_RULES_WLOCK(); | ||||
pfi_cleanup_vnet(); | pfi_cleanup_vnet(); | ||||
PF_RULES_WUNLOCK(); | PF_RULES_WUNLOCK(); | ||||
pfr_cleanup(); | pfr_cleanup(); | ||||
▲ Show 20 Lines • Show All 101 Lines • Show Last 20 Lines |