summaryrefslogtreecommitdiffstats
path: root/net/netfilter/nft_connlimit.c
diff options
context:
space:
mode:
authorYi-Hung Wei2018-07-03 02:33:43 +0200
committerPablo Neira Ayuso2018-07-18 11:26:36 +0200
commit34848d5c896ea1ab4e3c441b9c4fed39928ccbaf (patch)
tree3167b1fba32b9938934f77d5be7a1c6f346cd152 /net/netfilter/nft_connlimit.c
parentnetfilter: nf_conncount: Move locking into count_tree() (diff)
downloadkernel-qcow2-linux-34848d5c896ea1ab4e3c441b9c4fed39928ccbaf.tar.gz
kernel-qcow2-linux-34848d5c896ea1ab4e3c441b9c4fed39928ccbaf.tar.xz
kernel-qcow2-linux-34848d5c896ea1ab4e3c441b9c4fed39928ccbaf.zip
netfilter: nf_conncount: Split insert and traversal
This patch is originally from Florian Westphal. When we have a very coarse grouping, e.g. by large subnets, zone id, etc, it's likely that we do not need to do tree rotation because we'll find a node where we can attach new entry. Based on this observation, we split tree traversal and insertion. Later on, we can make traversal lockless (tree protected by RCU), and add extra lock in the individual nodes to protect list insertion/deletion, thereby allowing parallel insert/delete in different tree nodes. Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nft_connlimit.c')
0 files changed, 0 insertions, 0 deletions