Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf_ruleset.c
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | |||||
#define DPFPRINTF(format, x...) \ | #define DPFPRINTF(format, x...) \ | ||||
if (V_pf_status.debug >= PF_DEBUG_NOISY) \ | if (V_pf_status.debug >= PF_DEBUG_NOISY) \ | ||||
printf(format , ##x) | printf(format , ##x) | ||||
#define rs_malloc(x) malloc(x, M_TEMP, M_NOWAIT|M_ZERO) | #define rs_malloc(x) malloc(x, M_TEMP, M_NOWAIT|M_ZERO) | ||||
#define rs_free(x) free(x, M_TEMP) | #define rs_free(x) free(x, M_TEMP) | ||||
VNET_DEFINE(struct pf_kanchor_global, pf_anchors); | VNET_DEFINE(struct pf_kanchor_global, pf_anchors); | ||||
VNET_DEFINE(struct pf_kanchor, pf_main_anchor); | VNET_DEFINE(struct pf_kanchor, pf_main_anchor); | ||||
VNET_DEFINE(struct pf_keth_settings*, pf_keth); | |||||
VNET_DEFINE(struct pf_keth_settings*, pf_keth_inactive); | |||||
static __inline int pf_kanchor_compare(struct pf_kanchor *, | static __inline int pf_kanchor_compare(struct pf_kanchor *, | ||||
struct pf_kanchor *); | struct pf_kanchor *); | ||||
static struct pf_kanchor *pf_find_kanchor(const char *); | static struct pf_kanchor *pf_find_kanchor(const char *); | ||||
RB_GENERATE(pf_kanchor_global, pf_kanchor, entry_global, pf_kanchor_compare); | RB_GENERATE(pf_kanchor_global, pf_kanchor, entry_global, pf_kanchor_compare); | ||||
RB_GENERATE(pf_kanchor_node, pf_kanchor, entry_node, pf_kanchor_compare); | RB_GENERATE(pf_kanchor_node, pf_kanchor, entry_node, pf_kanchor_compare); | ||||
▲ Show 20 Lines • Show All 57 Lines • ▼ Show 20 Lines | pf_init_kruleset(struct pf_kruleset *ruleset) | ||||
memset(ruleset, 0, sizeof(struct pf_kruleset)); | memset(ruleset, 0, sizeof(struct pf_kruleset)); | ||||
for (i = 0; i < PF_RULESET_MAX; i++) { | for (i = 0; i < PF_RULESET_MAX; i++) { | ||||
TAILQ_INIT(&ruleset->rules[i].queues[0]); | TAILQ_INIT(&ruleset->rules[i].queues[0]); | ||||
TAILQ_INIT(&ruleset->rules[i].queues[1]); | TAILQ_INIT(&ruleset->rules[i].queues[1]); | ||||
ruleset->rules[i].active.ptr = &ruleset->rules[i].queues[0]; | ruleset->rules[i].active.ptr = &ruleset->rules[i].queues[0]; | ||||
ruleset->rules[i].inactive.ptr = &ruleset->rules[i].queues[1]; | ruleset->rules[i].inactive.ptr = &ruleset->rules[i].queues[1]; | ||||
} | } | ||||
} | |||||
void | |||||
pf_init_keth(struct pf_keth_settings *settings) | |||||
{ | |||||
TAILQ_INIT(&settings->rules); | |||||
settings->ticket = 0; | |||||
settings->open = 0; | |||||
} | } | ||||
struct pf_kruleset * | struct pf_kruleset * | ||||
pf_find_kruleset(const char *path) | pf_find_kruleset(const char *path) | ||||
{ | { | ||||
struct pf_kanchor *anchor; | struct pf_kanchor *anchor; | ||||
while (*path == '/') | while (*path == '/') | ||||
▲ Show 20 Lines • Show All 293 Lines • Show Last 20 Lines |