summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libipset/utils.h3
-rw-r--r--kernel/net/netfilter/ipset/ip_set_hash_gen.h3
-rw-r--r--lib/errcode.c2
-rw-r--r--lib/session.c14
-rwxr-xr-xtests/check_cidrs.sh4
-rw-r--r--tests/comment.t.list23
-rw-r--r--tests/comment.t.list213
-rw-r--r--tests/comment.t.list223
-rw-r--r--tests/comment.t.list312
-rw-r--r--tests/hash:ip,mark.t.list03
-rw-r--r--tests/hash:ip,mark.t.list13
-rw-r--r--tests/hash:ip,port,ip.t.list03
-rw-r--r--tests/hash:ip,port,ip.t.list13
-rw-r--r--tests/hash:ip,port,net.t.list03
-rw-r--r--tests/hash:ip,port.t.list03
-rw-r--r--tests/hash:ip,port.t.list13
-rw-r--r--tests/hash:ip,port.t.list23
-rw-r--r--tests/hash:ip.t.list03
-rw-r--r--tests/hash:ip.t.list13
-rw-r--r--tests/hash:ip.t.list23
-rw-r--r--tests/hash:ip.t.list33
-rw-r--r--tests/hash:ip6,mark.t.list03
-rw-r--r--tests/hash:ip6,mark.t.list13
-rw-r--r--tests/hash:ip6,port,ip6.t.list04
-rw-r--r--tests/hash:ip6,port,ip6.t.list13
-rw-r--r--tests/hash:ip6,port,net6.t.list03
-rw-r--r--tests/hash:ip6,port.t.list03
-rw-r--r--tests/hash:ip6,port.t.list13
-rw-r--r--tests/hash:ip6.t.list03
-rw-r--r--tests/hash:ip6.t.list13
-rw-r--r--tests/hash:ip6.t.list23
-rw-r--r--tests/hash:ip6.t.list33
-rw-r--r--tests/hash:mac.t.list03
-rw-r--r--tests/hash:mac.t.list13
-rw-r--r--tests/hash:mac.t.list23
-rw-r--r--tests/hash:mac.t.list33
-rw-r--r--tests/hash:net,iface.t2
-rw-r--r--tests/hash:net,iface.t.list03
-rw-r--r--tests/hash:net,iface.t.list13
-rw-r--r--tests/hash:net,iface.t.list23
-rw-r--r--tests/hash:net,net.t.list03
-rw-r--r--tests/hash:net,net.t.list13
-rw-r--r--tests/hash:net,net.t.list23
-rw-r--r--tests/hash:net,port,net.t.list03
-rw-r--r--tests/hash:net,port.t.list03
-rw-r--r--tests/hash:net,port.t.list13
-rw-r--r--tests/hash:net.t.list03
-rw-r--r--tests/hash:net.t.list13
-rw-r--r--tests/hash:net.t.list23
-rw-r--r--tests/hash:net6,net6.t.list03
-rw-r--r--tests/hash:net6,net6.t.list13
-rw-r--r--tests/hash:net6,port,net6.t.list03
-rw-r--r--tests/hash:net6,port.t.list03
-rw-r--r--tests/hash:net6,port.t.list13
-rw-r--r--tests/hash:net6.t.list03
-rw-r--r--tests/hash:net6.t.list13
-rw-r--r--tests/iphash.t.list03
-rw-r--r--tests/iphash.t.list13
-rw-r--r--tests/ipmarkhash.t.list03
-rw-r--r--tests/ipmarkhash.t.list13
-rw-r--r--tests/ipporthash.t.list03
-rw-r--r--tests/ipporthash.t.list13
-rw-r--r--tests/ipportiphash.t.list03
-rw-r--r--tests/ipportiphash.t.list13
-rwxr-xr-xtests/iptables.sh2
-rw-r--r--tests/nethash.t.list03
-rwxr-xr-xtests/resizet.sh2
-rw-r--r--tests/restore.t.list03
-rw-r--r--tests/restore.t.list13
-rw-r--r--tests/setlist.t.list415
-rwxr-xr-xtests/sort.sh4
71 files changed, 163 insertions, 81 deletions
diff --git a/include/libipset/utils.h b/include/libipset/utils.h
index 3cd29da..ceedd45 100644
--- a/include/libipset/utils.h
+++ b/include/libipset/utils.h
@@ -19,6 +19,9 @@
#define STRCASEQ(a, b) (strcasecmp(a, b) == 0)
#define STRNCASEQ(a, b, n) (strncasecmp(a, b, n) == 0)
+/* Match set type names */
+#define MATCH_TYPENAME(a, b) STRNEQ(a, b, strlen(b))
+
/* Stringify tokens */
#define _STR(c) #c
#define STR(c) _STR(c)
diff --git a/kernel/net/netfilter/ipset/ip_set_hash_gen.h b/kernel/net/netfilter/ipset/ip_set_hash_gen.h
index f8e82c2..2b59b20 100644
--- a/kernel/net/netfilter/ipset/ip_set_hash_gen.h
+++ b/kernel/net/netfilter/ipset/ip_set_hash_gen.h
@@ -1075,7 +1075,8 @@ mtype_head(struct ip_set *set, struct sk_buff *skb)
goto nla_put_failure;
#endif
if (nla_put_net32(skb, IPSET_ATTR_REFERENCES, htonl(set->ref - 1)) ||
- nla_put_net32(skb, IPSET_ATTR_MEMSIZE, htonl(memsize)))
+ nla_put_net32(skb, IPSET_ATTR_MEMSIZE, htonl(memsize)) ||
+ nla_put_net32(skb, IPSET_ATTR_ELEMENTS, htonl(h->elements)))
goto nla_put_failure;
if (unlikely(ip_set_put_flags(skb, set)))
goto nla_put_failure;
diff --git a/lib/errcode.c b/lib/errcode.c
index 8eb275b..3881121 100644
--- a/lib/errcode.c
+++ b/lib/errcode.c
@@ -148,8 +148,6 @@ static const struct ipset_errcode_table list_errcode_table[] = {
{ },
};
-#define MATCH_TYPENAME(a, b) STRNEQ(a, b, strlen(b))
-
/**
* ipset_errcode - interpret a kernel error code
* @session: session structure
diff --git a/lib/session.c b/lib/session.c
index 013d9d8..2650755 100644
--- a/lib/session.c
+++ b/lib/session.c
@@ -931,6 +931,10 @@ list_create(struct ipset_session *session, struct nlattr *nla[])
safe_dprintf(session, ipset_print_number, IPSET_OPT_MEMSIZE);
safe_snprintf(session, "\nReferences: ");
safe_dprintf(session, ipset_print_number, IPSET_OPT_REFERENCES);
+ if (MATCH_TYPENAME(type->name , "hash:")) {
+ safe_snprintf(session, "\nNumber of entries: ");
+ safe_dprintf(session, ipset_print_number, IPSET_OPT_ELEMENTS);
+ }
safe_snprintf(session,
session->envopts & IPSET_ENV_LIST_HEADER ?
"\n" : "\nMembers:\n");
@@ -940,10 +944,16 @@ list_create(struct ipset_session *session, struct nlattr *nla[])
safe_dprintf(session, ipset_print_number, IPSET_OPT_MEMSIZE);
safe_snprintf(session, "</memsize>\n<references>");
safe_dprintf(session, ipset_print_number, IPSET_OPT_REFERENCES);
+ safe_snprintf(session, "</references>\n");
+ if (MATCH_TYPENAME(type->name , "hash:")) {
+ safe_snprintf(session, "<numentries>");
+ safe_dprintf(session, ipset_print_number, IPSET_OPT_ELEMENTS);
+ safe_snprintf(session, "</numentries>\n");
+ }
safe_snprintf(session,
session->envopts & IPSET_ENV_LIST_HEADER ?
- "</references>\n</header>\n" :
- "</references>\n</header>\n<members>\n");
+ "</header>\n" :
+ "</header>\n<members>\n");
break;
default:
break;
diff --git a/tests/check_cidrs.sh b/tests/check_cidrs.sh
index 38f735f..2206b18 100755
--- a/tests/check_cidrs.sh
+++ b/tests/check_cidrs.sh
@@ -10,14 +10,14 @@ $ipset n test hash:net
for x in `seq 1 32`; do
$ipset a test 10.0.0.0/$x
n=`$ipset l test | wc -l`
- n=$((n - 7))
+ n=$((n - 8))
test $n -eq $x || exit 1
done
for x in `seq 32 -1 1`; do
$ipset d test 10.0.0.0/$x
n=`$ipset l test | wc -l`
# We deleted one element
- n=$((n - 7 + 1))
+ n=$((n - 8 + 1))
test $n -eq $x || exit 1
done
$ipset x test
diff --git a/tests/comment.t.list2 b/tests/comment.t.list2
index 76d0cea..90a7e9b 100644
--- a/tests/comment.t.list2
+++ b/tests/comment.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,net
Header: family inet hashsize 128 maxelem 65536 comment
-Size in memory: 3392
+Size in memory: 1288
References: 0
+Number of entries: 4
Members:
1.1.1.1,1.1.1.2 comment "text 1.1.1.1/32,1.1.1.2/32"
192.168.68.64/27,192.168.129.64/27 comment "text 192.168.68.69/27,192.168.129.69/27"
diff --git a/tests/comment.t.list21 b/tests/comment.t.list21
index a40889e..973b344 100644
--- a/tests/comment.t.list21
+++ b/tests/comment.t.list21
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536 timeout x comment
-Size in memory: 101400
+Size in memory: 95168
References: 0
+Number of entries: 512
Members:
2.0.0.0 timeout x comment "text message 0"
2.0.0.1 timeout x comment "text message 1"
diff --git a/tests/comment.t.list22 b/tests/comment.t.list22
index 1ae1bf1..15926f8 100644
--- a/tests/comment.t.list22
+++ b/tests/comment.t.list22
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536 timeout x comment
-Size in memory: 100152
+Size in memory: 98256
References: 0
+Number of entries: 512
Members:
2.0.1.0 timeout x comment "text message 0"
2.0.1.1 timeout x comment "text message 1"
diff --git a/tests/comment.t.list3 b/tests/comment.t.list3
index d460bf5..673678a 100644
--- a/tests/comment.t.list3
+++ b/tests/comment.t.list3
@@ -1,29 +1,33 @@
Name: a
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 16536
+Size in memory: 152
References: 1
+Number of entries: 0
Members:
Name: b
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 16536
+Size in memory: 152
References: 1
+Number of entries: 0
Members:
Name: c
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 16536
+Size in memory: 152
References: 1
+Number of entries: 0
Members:
Name: test
Type: list:set
Header: size 8 comment
-Size in memory: 264
+Size in memory: 288
References: 0
+Number of entries: 3
Members:
a comment "a set comment"
b comment "b set comment"
diff --git a/tests/hash:ip,mark.t.list0 b/tests/hash:ip,mark.t.list0
index 715654c..3866bf5 100644
--- a/tests/hash:ip,mark.t.list0
+++ b/tests/hash:ip,mark.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,mark
Header: family inet markmask 0xffffffff hashsize 1024 maxelem 65536 timeout x
-Size in memory: 8836
+Size in memory: 640
References: 0
+Number of entries: 4
Members:
2.0.0.0,0x00000005 timeout x
2.0.0.1,0x00000005 timeout x
diff --git a/tests/hash:ip,mark.t.list1 b/tests/hash:ip,mark.t.list1
index 093c94f..a15cb52 100644
--- a/tests/hash:ip,mark.t.list1
+++ b/tests/hash:ip,mark.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:ip,mark
Header: family inet markmask 0xffffffff hashsize 1024 maxelem 65536 timeout 5
-Size in memory: 8836
+Size in memory: 640
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:ip,port,ip.t.list0 b/tests/hash:ip,port,ip.t.list0
index 7218937..57adef1 100644
--- a/tests/hash:ip,port,ip.t.list0
+++ b/tests/hash:ip,port,ip.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port,ip
Header: family inet hashsize 1024 maxelem 65536 timeout x
-Size in memory: 8720
+Size in memory: 840
References: 0
+Number of entries: 4
Members:
2.0.0.0,tcp:5,1.1.1.1 timeout x
2.0.0.1,tcp:5,1.1.1.1 timeout x
diff --git a/tests/hash:ip,port,ip.t.list1 b/tests/hash:ip,port,ip.t.list1
index 78ad1fd..c889014 100644
--- a/tests/hash:ip,port,ip.t.list1
+++ b/tests/hash:ip,port,ip.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:ip,port,ip
Header: family inet hashsize 1024 maxelem 65536 timeout 5
-Size in memory: 8304
+Size in memory: 840
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:ip,port,net.t.list0 b/tests/hash:ip,port,net.t.list0
index c214ead..44c53c5 100644
--- a/tests/hash:ip,port,net.t.list0
+++ b/tests/hash:ip,port,net.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port,net
Header: family inet hashsize 1024 maxelem 65536 timeout x
-Size in memory: 8720
+Size in memory: 1096
References: 0
+Number of entries: 4
Members:
2.0.0.0,tcp:5,192.168.0.0/25 timeout x
2.0.0.1,tcp:5,192.168.0.0/24 timeout x
diff --git a/tests/hash:ip,port.t.list0 b/tests/hash:ip,port.t.list0
index fb9c57b..49e3033 100644
--- a/tests/hash:ip,port.t.list0
+++ b/tests/hash:ip,port.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port
Header: family inet hashsize 1024 maxelem 65536 timeout x
-Size in memory: 8592
+Size in memory: 640
References: 0
+Number of entries: 4
Members:
2.0.0.0,tcp:5 timeout x
2.0.0.1,tcp:5 timeout x
diff --git a/tests/hash:ip,port.t.list1 b/tests/hash:ip,port.t.list1
index eab115c..4442ad6 100644
--- a/tests/hash:ip,port.t.list1
+++ b/tests/hash:ip,port.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:ip,port
Header: family inet hashsize 1024 maxelem 65536 timeout 5
-Size in memory: 8304
+Size in memory: 640
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:ip,port.t.list2 b/tests/hash:ip,port.t.list2
index 7e7f3ad..624d050 100644
--- a/tests/hash:ip,port.t.list2
+++ b/tests/hash:ip,port.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 8432
+Size in memory: 320
References: 0
+Number of entries: 3
Members:
2.0.0.1,tcp:80
2.0.0.1,udp:80
diff --git a/tests/hash:ip.t.list0 b/tests/hash:ip.t.list0
index 3d13afc..d166f77 100644
--- a/tests/hash:ip.t.list0
+++ b/tests/hash:ip.t.list0
@@ -1,7 +1,8 @@
Name: test
Type: hash:ip
Header: family inet hashsize 128 maxelem 65536 timeout 5
-Size in memory: 1208
+Size in memory: 352
References: 0
+Number of entries: 2
Members:
192.168.68.69 timeout 0
diff --git a/tests/hash:ip.t.list1 b/tests/hash:ip.t.list1
index ffd4f72..db6827e 100644
--- a/tests/hash:ip.t.list1
+++ b/tests/hash:ip.t.list1
@@ -1,7 +1,8 @@
Name: test
Type: hash:ip
Header: family inet hashsize 128 maxelem 65536 netmask 24 timeout 5
-Size in memory: 1352
+Size in memory: 464
References: 0
+Number of entries: 3
Members:
200.100.10.0 timeout 0
diff --git a/tests/hash:ip.t.list2 b/tests/hash:ip.t.list2
index 274cf47..6cd2bf4 100644
--- a/tests/hash:ip.t.list2
+++ b/tests/hash:ip.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet hashsize 128 maxelem 65536 timeout x
-Size in memory: 1280
+Size in memory: 352
References: 0
+Number of entries: 2
Members:
192.168.68.69 timeout x
2.0.0.1 timeout x
diff --git a/tests/hash:ip.t.list3 b/tests/hash:ip.t.list3
index 5077710..500abbc 100644
--- a/tests/hash:ip.t.list3
+++ b/tests/hash:ip.t.list3
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet hashsize 128 maxelem 65536 netmask 24 timeout x
-Size in memory: 1352
+Size in memory: 464
References: 0
+Number of entries: 3
Members:
192.168.68.0 timeout x
2.0.0.0 timeout x
diff --git a/tests/hash:ip6,mark.t.list0 b/tests/hash:ip6,mark.t.list0
index f905b2a..be7c069 100644
--- a/tests/hash:ip6,mark.t.list0
+++ b/tests/hash:ip6,mark.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,mark
Header: family inet6 markmask 0xffffffff hashsize 1024 maxelem 65536 timeout x
-Size in memory: 9316
+Size in memory: 1088
References: 0
+Number of entries: 4
Members:
2:1::,0x00000080 timeout x
2:1::1,0x00000080 timeout x
diff --git a/tests/hash:ip6,mark.t.list1 b/tests/hash:ip6,mark.t.list1
index d40faed..377fa79 100644
--- a/tests/hash:ip6,mark.t.list1
+++ b/tests/hash:ip6,mark.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:ip,mark
Header: family inet6 markmask 0xffffffff hashsize 1024 maxelem 65536 timeout 5
-Size in memory: 9316
+Size in memory: 1088
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:ip6,port,ip6.t.list0 b/tests/hash:ip6,port,ip6.t.list0
index 41ac1c0..6fc6771 100644
--- a/tests/hash:ip6,port,ip6.t.list0
+++ b/tests/hash:ip6,port,ip6.t.list0
@@ -1,8 +1,10 @@
Name: test
Type: hash:ip,port,ip
Header: family inet6 hashsize 1024 maxelem 65536 timeout x
-Size in memory: 9104
+Size in memory: 1608
References: 0
+Size in memory: 9104
+Number of entries: 4
Members:
2:1::,tcp:128,2:2:2::2 timeout x
2:1::1,tcp:128,2:2:2::2 timeout x
diff --git a/tests/hash:ip6,port,ip6.t.list1 b/tests/hash:ip6,port,ip6.t.list1
index 7a3a4ad..3d42c1c 100644
--- a/tests/hash:ip6,port,ip6.t.list1
+++ b/tests/hash:ip6,port,ip6.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:ip,port,ip
Header: family inet6 hashsize 1024 maxelem 65536 timeout 5
-Size in memory: 8304
+Size in memory: 1608
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:ip6,port,net6.t.list0 b/tests/hash:ip6,port,net6.t.list0
index 78472ff..ad8ea8f 100644
--- a/tests/hash:ip6,port,net6.t.list0
+++ b/tests/hash:ip6,port,net6.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port,net
Header: family inet6 hashsize 1024 maxelem 65536
-Size in memory: 9928
+Size in memory: 1864
References: 0
+Number of entries: 4
Members:
2:1::,tcp:128,::/12
2:1::1,tcp:128,::/12
diff --git a/tests/hash:ip6,port.t.list0 b/tests/hash:ip6,port.t.list0
index 5edbaac..926c4ec 100644
--- a/tests/hash:ip6,port.t.list0
+++ b/tests/hash:ip6,port.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port
Header: family inet6 hashsize 1024 maxelem 65536 timeout x
-Size in memory: 8848
+Size in memory: 1088
References: 0
+Number of entries: 4
Members:
2:1::,tcp:128 timeout x
2:1::1,tcp:128 timeout x
diff --git a/tests/hash:ip6,port.t.list1 b/tests/hash:ip6,port.t.list1
index bf31179..2260fa6 100644
--- a/tests/hash:ip6,port.t.list1
+++ b/tests/hash:ip6,port.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:ip,port
Header: family inet6 hashsize 1024 maxelem 65536 timeout 5
-Size in memory: 8304
+Size in memory: 1088
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:ip6.t.list0 b/tests/hash:ip6.t.list0
index df81e38..30e0c33 100644
--- a/tests/hash:ip6.t.list0
+++ b/tests/hash:ip6.t.list0
@@ -1,7 +1,8 @@
Name: test
Type: hash:ip
Header: family inet6 hashsize 128 maxelem 65536 timeout 5
-Size in memory: 1240
+Size in memory: 512
References: 0
+Number of entries: 2
Members:
192:168:68::69 timeout 0
diff --git a/tests/hash:ip6.t.list1 b/tests/hash:ip6.t.list1
index c3b1c30..337b194 100644
--- a/tests/hash:ip6.t.list1
+++ b/tests/hash:ip6.t.list1
@@ -1,7 +1,8 @@
Name: test
Type: hash:ip
Header: family inet6 hashsize 128 maxelem 65536 netmask 64 timeout 5
-Size in memory: 1448
+Size in memory: 704
References: 0
+Number of entries: 3
Members:
200:100:10:: timeout 0
diff --git a/tests/hash:ip6.t.list2 b/tests/hash:ip6.t.list2
index 1989efd..46a92f7 100644
--- a/tests/hash:ip6.t.list2
+++ b/tests/hash:ip6.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet6 hashsize 128 maxelem 65536 timeout x
-Size in memory: 1344
+Size in memory: 512
References: 0
+Number of entries: 2
Members:
192:168:68::69 timeout x
2::1 timeout x
diff --git a/tests/hash:ip6.t.list3 b/tests/hash:ip6.t.list3
index ece96d6..c6e2990 100644
--- a/tests/hash:ip6.t.list3
+++ b/tests/hash:ip6.t.list3
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet6 hashsize 128 maxelem 65536 netmask 64 timeout x
-Size in memory: 1448
+Size in memory: 704
References: 0
+Number of entries: 3
Members:
192:168:68:: timeout x
200:100:10:: timeout x
diff --git a/tests/hash:mac.t.list0 b/tests/hash:mac.t.list0
index c2bbfd6..824dd30 100644
--- a/tests/hash:mac.t.list0
+++ b/tests/hash:mac.t.list0
@@ -1,7 +1,8 @@
Name: test
Type: hash:mac
Header: hashsize 128 maxelem 65536 timeout 5
-Size in memory: 2488
+Size in memory: 384
References: 0
+Number of entries: 2
Members:
00:0A:00:00:00:00 timeout 0
diff --git a/tests/hash:mac.t.list1 b/tests/hash:mac.t.list1
index 185f35f..0c971ff 100644
--- a/tests/hash:mac.t.list1
+++ b/tests/hash:mac.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: hash:mac
Header: hashsize 1024 maxelem 65536 skbinfo
-Size in memory: 17304
+Size in memory: 1088
References: 0
+Number of entries: 6
Members:
01:02:03:04:05:06 skbmark 0x123456
01:02:03:04:05:07 skbmark 0x1234ab/0xffff
diff --git a/tests/hash:mac.t.list2 b/tests/hash:mac.t.list2
index 2bec98d..166f266 100644
--- a/tests/hash:mac.t.list2
+++ b/tests/hash:mac.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:mac
Header: hashsize 128 maxelem 65536 timeout x
-Size in memory: 2488
+Size in memory: 384
References: 0
+Number of entries: 2
Members:
00:00:00:00:02:00 timeout x
00:0A:00:00:00:00 timeout x
diff --git a/tests/hash:mac.t.list3 b/tests/hash:mac.t.list3
index ab0bf9e..4154342 100644
--- a/tests/hash:mac.t.list3
+++ b/tests/hash:mac.t.list3
@@ -1,8 +1,9 @@
Name: test
Type: hash:mac
Header: hashsize 1024 maxelem 2 skbinfo
-Size in memory: 632
+Size in memory: 448
References: 0
+Number of entries: 2
Members:
01:02:03:04:05:06 skbprio 1:10
01:02:03:04:05:07 skbprio 1:12 skbqueue 8
diff --git a/tests/hash:net,iface.t b/tests/hash:net,iface.t
index 21ba1c7..c19de2b 100644
--- a/tests/hash:net,iface.t
+++ b/tests/hash:net,iface.t
@@ -131,7 +131,7 @@
# Add clashing elements
0 (set -e; for x in `seq 0 63`; do ipset add test 10.0.0.0/16,eth$x; done)
# Check listing
-0 n=`ipset list test | grep -v Revision: | wc -l` && test $n -eq 70
+0 n=`ipset list test | grep -v Revision: | wc -l` && test $n -eq 71
# Delete test set
0 ipset destroy test
# Create test set with timeout support
diff --git a/tests/hash:net,iface.t.list0 b/tests/hash:net,iface.t.list0
index 4bf10fe..e29a7d6 100644
--- a/tests/hash:net,iface.t.list0
+++ b/tests/hash:net,iface.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,iface
Header: family inet hashsize 128 maxelem 65536
-Size in memory: 2928
+Size in memory: 928
References: 0
+Number of entries: 4
Members:
1.1.1.1,eth0
192.168.68.64/27,eth1
diff --git a/tests/hash:net,iface.t.list1 b/tests/hash:net,iface.t.list1
index de56129..00f7d80 100644
--- a/tests/hash:net,iface.t.list1
+++ b/tests/hash:net,iface.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,iface
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 18512
+Size in memory: 3872
References: 0
+Number of entries: 27
Members:
192.0.0.0/10,eth10
192.0.0.0/11,eth11
diff --git a/tests/hash:net,iface.t.list2 b/tests/hash:net,iface.t.list2
index fbd502c..4f5cc90 100644
--- a/tests/hash:net,iface.t.list2
+++ b/tests/hash:net,iface.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,iface
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 17168
+Size in memory: 928
References: 0
+Number of entries: 4
Members:
10.2.0.0/24,eth0
10.2.1.0/29,eth0
diff --git a/tests/hash:net,net.t.list0 b/tests/hash:net,net.t.list0
index b759316..4b806ea 100644
--- a/tests/hash:net,net.t.list0
+++ b/tests/hash:net,net.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,net
Header: family inet hashsize 128 maxelem 65536 timeout x
-Size in memory: 3040
+Size in memory: 1288
References: 0
+Number of entries: 4
Members:
1.1.1.1,1.1.1.2 timeout x
192.168.68.64/27,192.168.129.64/27 timeout x
diff --git a/tests/hash:net,net.t.list1 b/tests/hash:net,net.t.list1
index d27b4a4..262440b 100644
--- a/tests/hash:net,net.t.list1
+++ b/tests/hash:net,net.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:net,net
Header: family inet hashsize 128 maxelem 65536 timeout 5
-Size in memory: 3040
+Size in memory: 1288
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:net,net.t.list2 b/tests/hash:net,net.t.list2
index adf26ff..139b3e2 100644
--- a/tests/hash:net,net.t.list2
+++ b/tests/hash:net,net.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,net
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 17664
+Size in memory: 2056
References: 0
+Number of entries: 16
Members:
10.2.0.0/24,10.3.0.0/24
10.2.0.0/24,10.3.1.0/29
diff --git a/tests/hash:net,port,net.t.list0 b/tests/hash:net,port,net.t.list0
index 0d90e62..9f20e7d 100644
--- a/tests/hash:net,port,net.t.list0
+++ b/tests/hash:net,port,net.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,port,net
Header: family inet hashsize 1024 maxelem 65536 timeout x
-Size in memory: 17672
+Size in memory: 1288
References: 0
+Number of entries: 4
Members:
2.0.0.0/24,tcp:5,192.168.0.0/24 timeout x
2.0.0.0/24,tcp:5,192.168.0.0/25 timeout x
diff --git a/tests/hash:net,port.t.list0 b/tests/hash:net,port.t.list0
index e28b4a3..fbfab7f 100644
--- a/tests/hash:net,port.t.list0
+++ b/tests/hash:net,port.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,port
Header: family inet hashsize 128 maxelem 65536 timeout x
-Size in memory: 2072
+Size in memory: 1024
References: 0
+Number of entries: 5
Members:
1.1.1.1,tcp:5 timeout x
192.168.68.64/27,tcp:8 timeout x
diff --git a/tests/hash:net,port.t.list1 b/tests/hash:net,port.t.list1
index 10031e4..2e38e19 100644
--- a/tests/hash:net,port.t.list1
+++ b/tests/hash:net,port.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:net,port
Header: family inet hashsize 128 maxelem 65536 timeout 5
-Size in memory: 2000
+Size in memory: 1024
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:net.t.list0 b/tests/hash:net.t.list0
index a71fa74..e22f183 100644
--- a/tests/hash:net.t.list0
+++ b/tests/hash:net.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net
Header: family inet hashsize 128 maxelem 65536 timeout x
-Size in memory: 1672
+Size in memory: 896
References: 0
+Number of entries: 4
Members:
1.1.1.1 timeout x
192.168.68.64/27 timeout x
diff --git a/tests/hash:net.t.list1 b/tests/hash:net.t.list1
index 7ea6afc..d96a658 100644
--- a/tests/hash:net.t.list1
+++ b/tests/hash:net.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:net
Header: family inet hashsize 128 maxelem 65536 timeout 5
-Size in memory: 1672
+Size in memory: 895
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:net.t.list2 b/tests/hash:net.t.list2
index bc81b5e..893ac9d 100644
--- a/tests/hash:net.t.list2
+++ b/tests/hash:net.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: hash:net
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 17016
+Size in memory: 640
References: 0
+Number of entries: 4
Members:
10.2.0.0/24
10.2.1.0/29
diff --git a/tests/hash:net6,net6.t.list0 b/tests/hash:net6,net6.t.list0
index ea78bbb..1f021e5 100644
--- a/tests/hash:net6,net6.t.list0
+++ b/tests/hash:net6,net6.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,net
Header: family inet6 hashsize 128 maxelem 65536 timeout x
-Size in memory: 4672
+Size in memory: 3144
References: 0
+Number of entries: 4
Members:
192:160::/27,172:16:68::/48 timeout x
1:1:1::1,2:2:2::2 timeout x
diff --git a/tests/hash:net6,net6.t.list1 b/tests/hash:net6,net6.t.list1
index 0e1b7d2..ecc76b6 100644
--- a/tests/hash:net6,net6.t.list1
+++ b/tests/hash:net6,net6.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:net,net
Header: family inet6 hashsize 128 maxelem 65536 timeout 5
-Size in memory: 4672
+Size in memory: 3144
References: 0
+Number of entries: 4
Members:
diff --git a/tests/hash:net6,port,net6.t.list0 b/tests/hash:net6,port,net6.t.list0
index 8a927ec..4b9f8f8 100644
--- a/tests/hash:net6,port,net6.t.list0
+++ b/tests/hash:net6,port,net6.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,port,net
Header: family inet6 hashsize 1024 maxelem 65536
-Size in memory: 18824
+Size in memory: 2440
References: 0
+Number of entries: 4
Members:
2:1::,tcp:128,::/12
2:1::1,tcp:128,::/12
diff --git a/tests/hash:net6,port.t.list0 b/tests/hash:net6,port.t.list0
index f0a27b4..2d3596c 100644
--- a/tests/hash:net6,port.t.list0
+++ b/tests/hash:net6,port.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net,port
Header: family inet6 hashsize 128 maxelem 65536 timeout x
-Size in memory: 2328
+Size in memory: 2352
References: 0
+Number of entries: 5
Members:
192:160::/27,ipv6-icmp:echo-request timeout x
192:168:68::95,ipv6-icmp:port-unreachable timeout x
diff --git a/tests/hash:net6,port.t.list1 b/tests/hash:net6,port.t.list1
index e5e90a4..dc12d8f 100644
--- a/tests/hash:net6,port.t.list1
+++ b/tests/hash:net6,port.t.list1
@@ -1,7 +1,8 @@
Name: test
Type: hash:net,port
Header: family inet6 hashsize 128 maxelem 65536 timeout 5
-Size in memory: 2328
+Size in memory: 2352
References: 0
+Number of entries: 5
Members:
1:1:1::1,tcp:8 timeout 0
diff --git a/tests/hash:net6.t.list0 b/tests/hash:net6.t.list0
index 52b0ce5..ad7133a 100644
--- a/tests/hash:net6.t.list0
+++ b/tests/hash:net6.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net
Header: family inet6 hashsize 128 maxelem 65536 timeout x
-Size in memory: 2696
+Size in memory: 2112
References: 0
+Number of entries: 4
Members:
192:160::/27 timeout x
1:1:1::1 timeout x
diff --git a/tests/hash:net6.t.list1 b/tests/hash:net6.t.list1
index e92da52..20a4950 100644
--- a/tests/hash:net6.t.list1
+++ b/tests/hash:net6.t.list1
@@ -1,6 +1,7 @@
Name: test
Type: hash:net
Header: family inet6 hashsize 128 maxelem 65536 timeout 5
-Size in memory: 2696
+Size in memory: 2112
References: 0
+Number of entries: 4
Members:
diff --git a/tests/iphash.t.list0 b/tests/iphash.t.list0
index 2302485..4d75711 100644
--- a/tests/iphash.t.list0
+++ b/tests/iphash.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet hashsize 128 maxelem 65536
-Size in memory: 1184
+Size in memory: 224
References: 0
+Number of entries: 2
Members:
192.168.68.69
2.0.0.1
diff --git a/tests/iphash.t.list1 b/tests/iphash.t.list1
index ea5d2a1..18ec027 100644
--- a/tests/iphash.t.list1
+++ b/tests/iphash.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip
Header: family inet hashsize 128 maxelem 65536 netmask 24
-Size in memory: 1184
+Size in memory: 224
References: 0
+Number of entries: 2
Members:
192.168.68.0
2.0.0.0
diff --git a/tests/ipmarkhash.t.list0 b/tests/ipmarkhash.t.list0
index 1157c69..9ebf116 100644
--- a/tests/ipmarkhash.t.list0
+++ b/tests/ipmarkhash.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,mark
Header: family inet markmask 0xffffffff hashsize 1024 maxelem 65536
-Size in memory: 8516
+Size in memory: 384
References: 0
+Number of entries: 4
Members:
2.0.0.0,0x00000005
2.0.0.1,0x00000005
diff --git a/tests/ipmarkhash.t.list1 b/tests/ipmarkhash.t.list1
index 5455be9..af39998 100644
--- a/tests/ipmarkhash.t.list1
+++ b/tests/ipmarkhash.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,mark
Header: family inet markmask 0xffffffff hashsize 1024 maxelem 65536
-Size in memory: 8468
+Size in memory: 384
References: 0
+Number of entries: 4
Members:
1.255.255.255,0x00000005
2.0.0.0,0x00000005
diff --git a/tests/ipporthash.t.list0 b/tests/ipporthash.t.list0
index 20c805d..902160f 100644
--- a/tests/ipporthash.t.list0
+++ b/tests/ipporthash.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 8464
+Size in memory: 384
References: 0
+Number of entries: 4
Members:
2.0.0.0,tcp:5
2.0.0.1,tcp:5
diff --git a/tests/ipporthash.t.list1 b/tests/ipporthash.t.list1
index 0834a00..d298cc0 100644
--- a/tests/ipporthash.t.list1
+++ b/tests/ipporthash.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 8464
+Size in memory: 384
References: 0
+Number of entries: 4
Members:
1.255.255.255,tcp:5
2.0.0.0,tcp:5
diff --git a/tests/ipportiphash.t.list0 b/tests/ipportiphash.t.list0
index fc881ad..bde5356 100644
--- a/tests/ipportiphash.t.list0
+++ b/tests/ipportiphash.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port,ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 8528
+Size in memory: 456
References: 0
+Number of entries: 4
Members:
2.0.0.0,tcp:5,1.1.1.1
2.0.0.1,tcp:5,1.1.1.1
diff --git a/tests/ipportiphash.t.list1 b/tests/ipportiphash.t.list1
index 9a7d1f0..d5cc29e 100644
--- a/tests/ipportiphash.t.list1
+++ b/tests/ipportiphash.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: hash:ip,port,ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 8416
+Size in memory: 296
References: 0
+Number of entries: 2
Members:
2.0.0.0,tcp:5,1.1.1.1
2.0.255.255,tcp:128,2.2.2.2
diff --git a/tests/iptables.sh b/tests/iptables.sh
index 7ea90e0..7273066 100755
--- a/tests/iptables.sh
+++ b/tests/iptables.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# set -x
+set -x
set -e
ipset=${IPSET_BIN:-../src/ipset}
diff --git a/tests/nethash.t.list0 b/tests/nethash.t.list0
index 1a157e9..0aeb852 100644
--- a/tests/nethash.t.list0
+++ b/tests/nethash.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: hash:net
Header: family inet hashsize 128 maxelem 65536
-Size in memory: 1544
+Size in memory: 640
References: 0
+Number of entries: 4
Members:
1.1.1.1
192.168.68.64/27
diff --git a/tests/resizet.sh b/tests/resizet.sh
index 7dc309f..eed4abf 100755
--- a/tests/resizet.sh
+++ b/tests/resizet.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# set -x
+#set -x
set -e
ipset=${IPSET_BIN:-../src/ipset}
diff --git a/tests/restore.t.list0 b/tests/restore.t.list0
index 65aa8b8..3c73ab3 100644
--- a/tests/restore.t.list0
+++ b/tests/restore.t.list0
@@ -1,8 +1,9 @@
Name: a
Type: hash:ip
Header: family inet6 hashsize 1024 maxelem 65536
-Size in memory: 16704
+Size in memory: 416
References: 0
+Number of entries: 3
Members:
3::3
4::4
diff --git a/tests/restore.t.list1 b/tests/restore.t.list1
index 0602ab6..e2c1f8e 100644
--- a/tests/restore.t.list1
+++ b/tests/restore.t.list1
@@ -1,8 +1,9 @@
Name: b
Type: hash:ip
Header: family inet6 hashsize 1024 maxelem 65536
-Size in memory: 16704
+Size in memory: 416
References: 0
+Number of entries: 3
Members:
1::1
2::2
diff --git a/tests/setlist.t.list4 b/tests/setlist.t.list4
index bce5824..6b115d9 100644
--- a/tests/setlist.t.list4
+++ b/tests/setlist.t.list4
@@ -1,35 +1,40 @@
Name: a
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 16504
+Size in memory: 152
References: 1
+Number of entries: 0
Members:
Name: b
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 16504
+Size in memory: 152
References: 0
+Number of entries: 0
Members:
Name: c
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 16504
+Size in memory: 152
References: 0
+Number of entries: 0
Members:
Name: d
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536
-Size in memory: 16504
+Size in memory: 152
References: 0
+Number of entries: 0
Members:
Name: test
Type: list:set
Header: size 8
-Size in memory: 112
+Size in memory: 184
References: 0
+Number of entries: 1
Members:
a
diff --git a/tests/sort.sh b/tests/sort.sh
index 69aebd5..c5edad1 100755
--- a/tests/sort.sh
+++ b/tests/sort.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-head -n 6 $1 > .foo
-tail -n +7 $1 | grep '[[:alnum:]]' | sort >> .foo
+head -n 7 $1 > .foo
+tail -n +8 $1 | grep '[[:alnum:]]' | sort >> .foo
rm $1