diff options
author | Florian Westphal <fw@strlen.de> | 2021-08-26 15:54:22 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-08-30 11:52:21 +0200 |
commit | d7e7747ac5c2496c98291944c6066adaa9f3b975 (patch) | |
tree | 58f5bfa9d5169cfad2e44fb94bee310f188eb9ba /include/linux/netfilter | |
parent | dd6d2910c5e071a8683827df1a89e527aa5145ab (diff) | |
download | linux-d7e7747ac5c2496c98291944c6066adaa9f3b975.tar.gz linux-d7e7747ac5c2496c98291944c6066adaa9f3b975.tar.bz2 linux-d7e7747ac5c2496c98291944c6066adaa9f3b975.zip |
netfilter: refuse insertion if chain has grown too large
Also add a stat counter for this that gets exported both via old /proc
interface and ctnetlink.
Assuming the old default size of 16536 buckets and max hash occupancy of
64k, this results in 128k insertions (origin+reply), so ~8 entries per
chain on average.
The revised settings in this series will result in about two entries per
bucket on average.
This allows a hard-limit ceiling of 64.
This is not tunable at the moment, but its possible to either increase
nf_conntrack_buckets or decrease nf_conntrack_max to reduce average
lengths.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/linux/netfilter')
-rw-r--r-- | include/linux/netfilter/nf_conntrack_common.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/netfilter/nf_conntrack_common.h b/include/linux/netfilter/nf_conntrack_common.h index 0c7d8d1e945d..700ea077ce2d 100644 --- a/include/linux/netfilter/nf_conntrack_common.h +++ b/include/linux/netfilter/nf_conntrack_common.h @@ -18,6 +18,7 @@ struct ip_conntrack_stat { unsigned int expect_create; unsigned int expect_delete; unsigned int search_restart; + unsigned int chaintoolong; }; #define NFCT_INFOMASK 7UL |