Commit c42ba429 authored by Florian Westphal's avatar Florian Westphal Committed by Pablo Neira Ayuso
Browse files

netfilter: flowtable: remove ipv4/ipv6 modules



Just place the structs and registration in the inet module.
nf_flow_table_ipv6, nf_flow_table_ipv4 and nf_flow_table_inet share
same module dependencies: nf_flow_table, nf_tables.

before:
   text	   data	    bss	    dec	    hex	filename
   2278	   1480	      0	   3758	    eae	nf_flow_table_inet.ko
   1159	   1352	      0	   2511	    9cf	nf_flow_table_ipv6.ko
   1154	   1352	      0	   2506	    9ca	nf_flow_table_ipv4.ko

after:
   2369	   1672	      0	   4041	    fc9	nf_flow_table_inet.ko

Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 878aed8d
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -59,12 +59,8 @@ config NF_TABLES_ARP
endif # NF_TABLES

config NF_FLOW_TABLE_IPV4
	tristate "Netfilter flow table IPv4 module"
	depends on NF_FLOW_TABLE
	help
	  This option adds the flow table IPv4 support.

	  To compile it as a module, choose M here.
	tristate
	select NF_FLOW_TABLE_INET

config NF_DUP_IPV4
	tristate "Netfilter IPv4 packet duplication to alternate destination"
+0 −3
Original line number Diff line number Diff line
@@ -24,9 +24,6 @@ obj-$(CONFIG_NFT_REJECT_IPV4) += nft_reject_ipv4.o
obj-$(CONFIG_NFT_FIB_IPV4) += nft_fib_ipv4.o
obj-$(CONFIG_NFT_DUP_IPV4) += nft_dup_ipv4.o

# flow table support
obj-$(CONFIG_NF_FLOW_TABLE_IPV4) += nf_flow_table_ipv4.o

# generic IP tables
obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o

+0 −37
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/netfilter.h>
#include <net/netfilter/nf_flow_table.h>
#include <net/netfilter/nf_tables.h>

static struct nf_flowtable_type flowtable_ipv4 = {
	.family		= NFPROTO_IPV4,
	.init		= nf_flow_table_init,
	.setup		= nf_flow_table_offload_setup,
	.action		= nf_flow_rule_route_ipv4,
	.free		= nf_flow_table_free,
	.hook		= nf_flow_offload_ip_hook,
	.owner		= THIS_MODULE,
};

static int __init nf_flow_ipv4_module_init(void)
{
	nft_register_flowtable_type(&flowtable_ipv4);

	return 0;
}

static void __exit nf_flow_ipv4_module_exit(void)
{
	nft_unregister_flowtable_type(&flowtable_ipv4);
}

module_init(nf_flow_ipv4_module_init);
module_exit(nf_flow_ipv4_module_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Pablo Neira Ayuso <pablo@netfilter.org>");
MODULE_ALIAS_NF_FLOWTABLE(AF_INET);
MODULE_DESCRIPTION("Netfilter flow table support");
+2 −6
Original line number Diff line number Diff line
@@ -48,12 +48,8 @@ endif # NF_TABLES_IPV6
endif # NF_TABLES

config NF_FLOW_TABLE_IPV6
	tristate "Netfilter flow table IPv6 module"
	depends on NF_FLOW_TABLE
	help
	  This option adds the flow table IPv6 support.

	  To compile it as a module, choose M here.
	tristate
	select NF_FLOW_TABLE_INET

config NF_DUP_IPV6
	tristate "Netfilter IPv6 packet duplication to alternate destination"
+0 −38
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/netfilter.h>
#include <linux/rhashtable.h>
#include <net/netfilter/nf_flow_table.h>
#include <net/netfilter/nf_tables.h>

static struct nf_flowtable_type flowtable_ipv6 = {
	.family		= NFPROTO_IPV6,
	.init		= nf_flow_table_init,
	.setup		= nf_flow_table_offload_setup,
	.action		= nf_flow_rule_route_ipv6,
	.free		= nf_flow_table_free,
	.hook		= nf_flow_offload_ipv6_hook,
	.owner		= THIS_MODULE,
};

static int __init nf_flow_ipv6_module_init(void)
{
	nft_register_flowtable_type(&flowtable_ipv6);

	return 0;
}

static void __exit nf_flow_ipv6_module_exit(void)
{
	nft_unregister_flowtable_type(&flowtable_ipv6);
}

module_init(nf_flow_ipv6_module_init);
module_exit(nf_flow_ipv6_module_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Pablo Neira Ayuso <pablo@netfilter.org>");
MODULE_ALIAS_NF_FLOWTABLE(AF_INET6);
MODULE_DESCRIPTION("Netfilter flow table IPv6 module");
Loading