diff options
author | glebius <glebius@FreeBSD.org> | 2014-01-22 10:29:15 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2014-01-22 10:29:15 +0000 |
commit | 99ea781723ac0ee95e527398c3fc265fded7e25f (patch) | |
tree | 3903a56caa0e3d24455db141ca273c2eeb8fad6c /sys/net | |
parent | 5da449f113544b238255af43099c652d5600d9a4 (diff) | |
download | FreeBSD-src-99ea781723ac0ee95e527398c3fc265fded7e25f.zip FreeBSD-src-99ea781723ac0ee95e527398c3fc265fded7e25f.tar.gz |
Merge r258478, r258479, r258480, r259719: fixes related to mass source
nodes removal.
PR: 176763
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/pfvar.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 419246e..c59ba60 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1643,8 +1643,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; }; @@ -1750,8 +1751,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, |