This change removes all xt_table pointers from struct net. v2: fix "no previous prototype for 'ipt_unregister_table'" warning in patch 2. The various ip(6)table_foo incarnations are updated to expect that the table is passed as 'void *priv' argument that netfilter core passes to the hook functions. This reduces the struct net size by 2 cachelines on x86_64. Florian Westphal (12): netfilter: ebtables: remove the 3 ebtables pointers from struct net netfilter: x_tables: remove ipt_unregister_table netfilter: add xt_find_table netfilter: iptables: unregister the tables by name netfilter: ip6tables: unregister the tables by name netfilter: arptables: unregister the tables by name netfilter: x_tables: remove paranoia tests netfilter: xt_nat: pass table to hookfn netfilter: ip_tables: pass table pointer via nf_hook_ops netfilter: arp_tables: pass table pointer via nf_hook_ops netfilter: ip6_tables: pass table pointer via nf_hook_ops netfilter: remove all xt_table anchors from struct net include/linux/netfilter/x_tables.h | 4 ++ include/linux/netfilter_arp/arp_tables.h | 6 +- include/linux/netfilter_bridge/ebtables.h | 9 ++- include/linux/netfilter_ipv4/ip_tables.h | 9 +-- include/linux/netfilter_ipv6/ip6_tables.h | 9 +-- include/net/netns/ipv4.h | 10 ---- include/net/netns/ipv6.h | 9 --- include/net/netns/x_tables.h | 8 --- net/bridge/netfilter/ebtable_broute.c | 10 ++-- net/bridge/netfilter/ebtable_filter.c | 26 +++------ net/bridge/netfilter/ebtable_nat.c | 27 +++------ net/bridge/netfilter/ebtables.c | 42 ++++++++++---- net/ipv4/netfilter/arp_tables.c | 57 ++++++++++++------ net/ipv4/netfilter/arptable_filter.c | 17 ++---- net/ipv4/netfilter/ip_tables.c | 70 ++++++++++++++--------- net/ipv4/netfilter/iptable_filter.c | 17 ++---- net/ipv4/netfilter/iptable_mangle.c | 23 +++----- net/ipv4/netfilter/iptable_nat.c | 59 +++++++++++++------ net/ipv4/netfilter/iptable_raw.c | 17 ++---- net/ipv4/netfilter/iptable_security.c | 17 ++---- net/ipv6/netfilter/ip6_tables.c | 68 +++++++++++++--------- net/ipv6/netfilter/ip6table_filter.c | 17 ++---- net/ipv6/netfilter/ip6table_mangle.c | 24 +++----- net/ipv6/netfilter/ip6table_nat.c | 58 +++++++++++++------ net/ipv6/netfilter/ip6table_raw.c | 17 ++---- net/ipv6/netfilter/ip6table_security.c | 17 ++---- net/netfilter/x_tables.c | 18 ++++++ 27 files changed, 332 insertions(+), 333 deletions(-) -- 2.26.3