From 2da431d3685c65d4355d387e213a3cd39d5b59f3 Mon Sep 17 00:00:00 2001 From: Neutron Soutmun Date: Thu, 10 May 2012 08:05:53 +0200 Subject: Add dynamic module support to ipset userspace tool The patch adds supporting dynamic modules for the set types to ipset userspace tool. The dynamic module support can be enabled by the --enable-settype-modules of "configure". The list of set types to be compiled as dynamic modules can be specified in the --with-settype-modules-list option. Example --enable-settype-modules \ --with-settype-modules-list="ipset_hash_ip ipset_hash_ipport" The keyword "all" can be used to compile all set types as dynamic modules. --- lib/ipset_hash_ipportnet.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'lib/ipset_hash_ipportnet.c') diff --git a/lib/ipset_hash_ipportnet.c b/lib/ipset_hash_ipportnet.c index af85639..6750208 100644 --- a/lib/ipset_hash_ipportnet.c +++ b/lib/ipset_hash_ipportnet.c @@ -86,7 +86,7 @@ static const char hash_ipportnet1_usage[] = " Adding/deleting multiple elements with TCP/SCTP/UDP/UDPLITE\n" " port range is supported both for IPv4 and IPv6.\n"; -struct ipset_type ipset_hash_ipportnet1 = { +static struct ipset_type ipset_hash_ipportnet1 = { .name = "hash:ip,port,net", .alias = { "ipportnethash", NULL }, .revision = 1, @@ -176,7 +176,7 @@ static const char hash_ipportnet2_usage[] = " Adding/deleting multiple elements with TCP/SCTP/UDP/UDPLITE\n" " port range is supported both for IPv4 and IPv6.\n"; -struct ipset_type ipset_hash_ipportnet2 = { +static struct ipset_type ipset_hash_ipportnet2 = { .name = "hash:ip,port,net", .alias = { "ipportnethash", NULL }, .revision = 2, @@ -280,7 +280,7 @@ static const char hash_ipportnet3_usage[] = " Adding/deleting multiple elements with TCP/SCTP/UDP/UDPLITE\n" " port range is supported both for IPv4 and IPv6.\n"; -struct ipset_type ipset_hash_ipportnet3 = { +static struct ipset_type ipset_hash_ipportnet3 = { .name = "hash:ip,port,net", .alias = { "ipportnethash", NULL }, .revision = 3, @@ -357,3 +357,9 @@ struct ipset_type ipset_hash_ipportnet3 = { .usagefn = ipset_port_usage, }; +void _init(void) +{ + ipset_type_add(&ipset_hash_ipportnet1); + ipset_type_add(&ipset_hash_ipportnet2); + ipset_type_add(&ipset_hash_ipportnet3); +} -- cgit v1.2.3