summaryrefslogtreecommitdiffstats
path: root/net/netfilter/ipset/Kconfig
diff options
context:
space:
mode:
authorJozsef Kadlecsik2011-02-01 15:38:36 +0100
committerPatrick McHardy2011-02-01 15:38:36 +0100
commit6c027889696a7a694b0e2f6e3cabadefec7553b6 (patch)
treebfdb7bbdb8153ac15c45fe86928d4b02ce3fe766 /net/netfilter/ipset/Kconfig
parentnetfilter: ipset; bitmap:port set type support (diff)
downloadkernel-qcow2-linux-6c027889696a7a694b0e2f6e3cabadefec7553b6.tar.gz
kernel-qcow2-linux-6c027889696a7a694b0e2f6e3cabadefec7553b6.tar.xz
kernel-qcow2-linux-6c027889696a7a694b0e2f6e3cabadefec7553b6.zip
netfilter: ipset: hash:ip set type support
The module implements the hash:ip type support in four flavours: for IPv4 or IPv6, both without and with timeout support. All the hash types are based on the "array hash" or ahash structure and functions as a good compromise between minimal memory footprint and speed. The hashing uses arrays to resolve clashes. The hash table is resized (doubled) when searching becomes too long. Resizing can be triggered by userspace add commands only and those are serialized by the nfnl mutex. During resizing the set is read-locked, so the only possible concurrent operations are the kernel side readers. Those are protected by RCU locking. Because of the four flavours and the other hash types, the functions are implemented in general forms in the ip_set_ahash.h header file and the real functions are generated before compiling by macro expansion. Thus the dereferencing of low-level functions and void pointer arguments could be avoided: the low-level functions are inlined, the function arguments are pointers of type-specific structures. Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'net/netfilter/ipset/Kconfig')
-rw-r--r--net/netfilter/ipset/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/net/netfilter/ipset/Kconfig b/net/netfilter/ipset/Kconfig
index f401e9112703..194d89caeb3d 100644
--- a/net/netfilter/ipset/Kconfig
+++ b/net/netfilter/ipset/Kconfig
@@ -50,4 +50,14 @@ config IP_SET_BITMAP_PORT
To compile it as a module, choose M here. If unsure, say N.
+config IP_SET_HASH_IP
+ tristate "hash:ip set support"
+ depends on IP_SET
+ help
+ This option adds the hash:ip set type support, by which one
+ can store arbitrary IPv4 or IPv6 addresses (or network addresses)
+ in a set.
+
+ To compile it as a module, choose M here. If unsure, say N.
+
endif # IP_SET