linux/include
Aaron Conole 960632ece6 netfilter: convert hook list to an array
This converts the storage and layout of netfilter hook entries from a
linked list to an array.  After this commit, hook entries will be
stored adjacent in memory.  The next pointer is no longer required.

The ops pointers are stored at the end of the array as they are only
used in the register/unregister path and in the legacy br_netfilter code.

nf_unregister_net_hooks() is slower than needed as it just calls
nf_unregister_net_hook in a loop (i.e. at least n synchronize_net()
calls), this will be addressed in followup patch.

Test setup:
 - ixgbe 10gbit
 - netperf UDP_STREAM, 64 byte packets
 - 5 hooks: (raw + mangle prerouting, mangle+filter input, inet filter):
empty mangle and raw prerouting, mangle and filter input hooks:
353.9
this patch:
364.2

Signed-off-by: Aaron Conole <aconole@bytheb.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2017-08-28 17:44:00 +02:00
..
acpi
asm-generic
clocksource
crypto
drm
dt-bindings
keys
kvm
linux netfilter: convert hook list to an array 2017-08-28 17:44:00 +02:00
math-emu
media
memory
misc
net netfilter: convert hook list to an array 2017-08-28 17:44:00 +02:00
pcmcia
ras
rdma
rxrpc
scsi
soc
sound
target
trace
uapi netfilter: rt: add support to fetch path mss 2017-08-19 13:15:10 +02:00
video
xen