summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2014-01-22 10:29:15 +0000
committerglebius <glebius@FreeBSD.org>2014-01-22 10:29:15 +0000
commit99ea781723ac0ee95e527398c3fc265fded7e25f (patch)
tree3903a56caa0e3d24455db141ca273c2eeb8fad6c /sys/net
parent5da449f113544b238255af43099c652d5600d9a4 (diff)
downloadFreeBSD-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.h10
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,
OpenPOWER on IntegriCloud