diff options
author | Martin Matuska <mm@FreeBSD.org> | 2014-02-19 22:02:15 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2014-02-19 22:02:15 +0000 |
commit | 5748b897da441d1f10e1fe0c39155ea33d6d383a (patch) | |
tree | 7c8754b66fd2a59523982c11a17a367cbfcb1520 /sys/net/pfvar.h | |
parent | 654957c2c861b1483df873678439699c0dfeeb94 (diff) | |
parent | 2067168264b9ab5abb628187a3c56180e7767e7b (diff) | |
download | src-5748b897da441d1f10e1fe0c39155ea33d6d383a.tar.gz src-5748b897da441d1f10e1fe0c39155ea33d6d383a.zip |
Merge head up to r262222 (last merge was incomplete).
Notes
Notes:
svn path=/projects/pf/head/; revision=262234
Diffstat (limited to 'sys/net/pfvar.h')
-rw-r--r-- | sys/net/pfvar.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index c4d24ba14d5e..4b6e0973186e 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -35,6 +35,7 @@ #include <sys/param.h> #include <sys/queue.h> +#include <sys/counter.h> #include <sys/refcount.h> #include <sys/tree.h> @@ -512,13 +513,9 @@ struct pf_rule { int rtableid; u_int32_t timeout[PFTM_MAX]; - u_int32_t states_cur; - u_int32_t states_tot; u_int32_t max_states; - u_int32_t src_nodes; u_int32_t max_src_nodes; u_int32_t max_src_states; - u_int32_t spare1; /* netgraph */ u_int32_t max_src_conn; struct { u_int32_t limit; @@ -532,6 +529,10 @@ struct pf_rule { uid_t cuid; pid_t cpid; + counter_u64_t states_cur; + counter_u64_t states_tot; + counter_u64_t src_nodes; + u_int16_t return_icmp; u_int16_t return_icmp6; u_int16_t max_mss; @@ -1467,8 +1468,9 @@ struct pf_ifspeed { #define DIOCGIFSPEED _IOWR('D', 92, struct pf_ifspeed) #ifdef _KERNEL +LIST_HEAD(pf_src_node_list, pf_src_node); struct pf_srchash { - LIST_HEAD(, pf_src_node) nodes; + struct pf_src_node_list nodes; struct mtx lock; }; @@ -1572,8 +1574,11 @@ pf_release_state(struct pf_state *s) extern struct pf_state *pf_find_state_byid(uint64_t, uint32_t); extern struct pf_state *pf_find_state_all(struct pf_state_key_cmp *, u_int, int *); -struct pf_src_node *pf_find_src_node(struct pf_addr *, struct pf_rule *, - sa_family_t, int); +extern struct pf_src_node *pf_find_src_node(struct pf_addr *, + struct pf_rule *, sa_family_t, int); +extern void pf_unlink_src_node(struct pf_src_node *); +extern void pf_unlink_src_node_locked(struct pf_src_node *); +extern u_int pf_free_src_nodes(struct pf_src_node_list *); extern void pf_print_state(struct pf_state *); extern void pf_print_flags(u_int8_t); extern u_int16_t pf_cksum_fixup(u_int16_t, u_int16_t, u_int16_t, |