]> granicus.if.org Git - ipset/commitdiff
Add element count to hash headers
authorEric B Munson <emunson@akamai.com>
Fri, 29 May 2015 15:36:25 +0000 (11:36 -0400)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Fri, 19 Jun 2015 21:30:06 +0000 (23:30 +0200)
It would be useful for userspace to query the size of an ipset hash,
however, this data is not exposed to userspace outside of counting the
number of member entries.  This patch uses the attribute
IPSET_ATTR_ELEMENTS to indicate the size in the the header that is
exported to userspace.  This field is then printed by the userspace
tool for hashes.

Because it is only meaningful for hashes to report their size, the
output is conditional on the set type.  To do this checking the
MATCH_TYPENAME macro was moved to utils.h.

The bulk of this patch changes the expected test suite to account for
the change in output.

Signed-off-by: Eric B Munson <emunson@akamai.com>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Josh Hunt <johunt@akamai.com>
Cc: netfilter-devel@vger.kernel.org
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
71 files changed:
include/libipset/utils.h
kernel/net/netfilter/ipset/ip_set_hash_gen.h
lib/errcode.c
lib/session.c
tests/check_cidrs.sh
tests/comment.t.list2
tests/comment.t.list21
tests/comment.t.list22
tests/comment.t.list3
tests/hash:ip,mark.t.list0
tests/hash:ip,mark.t.list1
tests/hash:ip,port,ip.t.list0
tests/hash:ip,port,ip.t.list1
tests/hash:ip,port,net.t.list0
tests/hash:ip,port.t.list0
tests/hash:ip,port.t.list1
tests/hash:ip,port.t.list2
tests/hash:ip.t.list0
tests/hash:ip.t.list1
tests/hash:ip.t.list2
tests/hash:ip.t.list3
tests/hash:ip6,mark.t.list0
tests/hash:ip6,mark.t.list1
tests/hash:ip6,port,ip6.t.list0
tests/hash:ip6,port,ip6.t.list1
tests/hash:ip6,port,net6.t.list0
tests/hash:ip6,port.t.list0
tests/hash:ip6,port.t.list1
tests/hash:ip6.t.list0
tests/hash:ip6.t.list1
tests/hash:ip6.t.list2
tests/hash:ip6.t.list3
tests/hash:mac.t.list0
tests/hash:mac.t.list1
tests/hash:mac.t.list2
tests/hash:mac.t.list3
tests/hash:net,iface.t
tests/hash:net,iface.t.list0
tests/hash:net,iface.t.list1
tests/hash:net,iface.t.list2
tests/hash:net,net.t.list0
tests/hash:net,net.t.list1
tests/hash:net,net.t.list2
tests/hash:net,port,net.t.list0
tests/hash:net,port.t.list0
tests/hash:net,port.t.list1
tests/hash:net.t.list0
tests/hash:net.t.list1
tests/hash:net.t.list2
tests/hash:net6,net6.t.list0
tests/hash:net6,net6.t.list1
tests/hash:net6,port,net6.t.list0
tests/hash:net6,port.t.list0
tests/hash:net6,port.t.list1
tests/hash:net6.t.list0
tests/hash:net6.t.list1
tests/iphash.t.list0
tests/iphash.t.list1
tests/ipmarkhash.t.list0
tests/ipmarkhash.t.list1
tests/ipporthash.t.list0
tests/ipporthash.t.list1
tests/ipportiphash.t.list0
tests/ipportiphash.t.list1
tests/iptables.sh
tests/nethash.t.list0
tests/resizet.sh
tests/restore.t.list0
tests/restore.t.list1
tests/setlist.t.list4
tests/sort.sh

index 3cd29da56bf422d02aecd2c981191ce31bdd6896..ceedd45967d31932209d6c8754a5bc635a416d96 100644 (file)
@@ -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)
index f8e82c2a0055fa60bdcbadd20fe91cb56fac4413..2b59b203ba519fe70d10476e965955ab7d9d29dd 100644 (file)
@@ -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;
index 8eb275bfe135c64f8281ef03963d6f42b73d75e0..38811211c7d5a88b509807af0c0cb06d71502143 100644 (file)
@@ -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
index 013d9d876822cdaae78882b0e75444ec6b4666e4..2650755ac4af84c932d88244de48420212547706 100644 (file)
@@ -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;
index 38f735fcba8db2ca79eacdc92ab73d69fb7bd792..2206b185ac181cfc1962272fc815d0b50f27e485 100755 (executable)
@@ -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
index 76d0ceaac297e3e34ae8b5cc956561345d3cfe91..90a7e9bf9902eaf9be91619b75b85d1a762b9728 100644 (file)
@@ -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"
index a40889ebdd738f9db0f3817d2d1550ca36a63c72..973b34430d0bcb9f3bd4db41c512aede818971c5 100644 (file)
@@ -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"
index 1ae1bf1a7a047411b7c7eed8cfd2f44b7ed1ae34..15926f884502bb277d4182340f6f57fd1692900e 100644 (file)
@@ -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"
index d460bf5b3ee13afccb6a49a9dbbc215547357034..673678a0eef95d01772bb87f4d722843285965cd 100644 (file)
@@ -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"
index 715654c6ca6b91ec496f5bdf760a5485306e80dd..3866bf546f03ad76e6ba8988cae0b8628f3006d7 100644 (file)
@@ -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
index 093c94f5b68defc377f9a5e12f4481fa44d9a921..a15cb5204a48751e8a19bb743795bf19bf6fd33f 100644 (file)
@@ -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:
index 7218937c06f2ce0828a654f0b81c7b0c27667bb8..57adef1ae4349f406e89d165aaa37c8d4dabc72e 100644 (file)
@@ -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
index 78ad1fd14b09fec72d9a8cdaa3afa4557acd5b02..c88901492c745a08335a53a0f001cf4720228026 100644 (file)
@@ -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:
index c214eadb13df552828750e36ed06909128082040..44c53c5b2c6b17939e87b302f34a76d0bb89bb76 100644 (file)
@@ -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
index fb9c57b8031e4291550c617aa7fd4210cdbec11c..49e303346c65f90e2bd421d5ffff6261b87e513d 100644 (file)
@@ -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
index eab115cc32abee4dbfabc1026cac10b66ea5539c..4442ad63d3c22fbbd9c48de532a4de4f3eb85de6 100644 (file)
@@ -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:
index 7e7f3adbbf6a5ceb176d79f226f8e0888369de2d..624d0505e90c9c882985bbe2935ff6bd08b4aee1 100644 (file)
@@ -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
index 3d13afcf14b534be4313342e5b8aa7d514ddb0da..d166f77c7a620a1c7c6a1e029df10f5b16ad9876 100644 (file)
@@ -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
index ffd4f728e1eec15292cc2bdda67b3d52532ba26f..db6827ee5b6d377161c5045fd7fe5c0bcc8b7d56 100644 (file)
@@ -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
index 274cf47a46b599a2cde52b9265546fdb320521f3..6cd2bf45e069457e70da9a4beeea2597912ad3c9 100644 (file)
@@ -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
index 50777103b777b3834a88235aa2102226bc1e3a10..500abbc703def4e909870b97e11e8a79a96aa2e2 100644 (file)
@@ -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
index f905b2afd74beff424e06f2563812afd96f23495..be7c06997ca8c951a5f5fd73e139ab847de55a46 100644 (file)
@@ -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
index d40faed242f9c58f5e53110091e04b166379b51d..377fa7927fafaa1a76857d5650af60846618bd50 100644 (file)
@@ -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:
index 41ac1c0d00a1aa63b3fec90e3b4ce36fc6fbcb07..6fc67711ab536571618f32939735cf496146bfd8 100644 (file)
@@ -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
index 7a3a4adc3cd3fccf975f4d309d410a574b555639..3d42c1c466dc1a1b9ebccf75c215f715aa114774 100644 (file)
@@ -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:
index 78472ffdf4214e876c026f0dda94b64962cbd0fe..ad8ea8f5c4fadb22d1fbe656aab6a8d249444739 100644 (file)
@@ -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
index 5edbaac6affb120d6a2f41e9cc278cba0d651a94..926c4ec935c6e01616e5fda6db532cab8e089d69 100644 (file)
@@ -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
index bf31179285db3e83f24a0c2d3e48b0607ed3fa18..2260fa6816768bb4d7a7bb08f54c8c21220ce5ad 100644 (file)
@@ -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:
index df81e38274098e2f21a4565f6413dbbcab63e18b..30e0c33404b415fac7b142d3b31ed84283376b87 100644 (file)
@@ -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
index c3b1c303f718bb19820497689a00a4af3e4db16e..337b194244b78900118ef9c6ef901ed9ec3e0030 100644 (file)
@@ -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
index 1989efd911487edae1b6257095d68df0134d5979..46a92f78fd83f9a97d14cb721e3bc2ffa55940a7 100644 (file)
@@ -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
index ece96d64e369df7f27ca26dc4433bef0c24f5142..c6e2990601a0b4376ecfe9a50e019f510509c89e 100644 (file)
@@ -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
index c2bbfd6fe2c68bc3ded8c1d6fe4fe8e1b22f83ae..824dd3042010c60ed26bef313600e494bceb4b67 100644 (file)
@@ -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
index 185f35f3f2e99af43c13ff1a39dab9c4fd0f57f2..0c971ffd9623ab90dc9e50820e348541f3616176 100644 (file)
@@ -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
index 2bec98d4fabebb5858897e8bc314a6345ba1f4a4..166f266c1c7f8c45de99cb07dc2953d298f3f8c3 100644 (file)
@@ -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
index ab0bf9e0a7725f00dc1e22063fcdb9ae76261898..41543421ddc2b549933cc01447a856d5a43e6acd 100644 (file)
@@ -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
index 21ba1c7a7455ed5d7001ba5e4d3c83a753118b68..c19de2b5d43e6cd4a22f66427b4da2bfb0940a7d 100644 (file)
 # 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
index 4bf10fe97e769a7cfb9c0b59a54d8e8e24531e1b..e29a7d6d1b656e5c512029f83a11532578dba27b 100644 (file)
@@ -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
index de561299d6356a5d21ab8ffda753308eb73b3ffd..00f7d807dd485686611a3c88e5ca918fe41edf17 100644 (file)
@@ -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
index fbd502c95040e4ce170243f8cee7374d8771e793..4f5cc90043590e6dea8d6d6c50e7079eab7f381c 100644 (file)
@@ -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
index b759316f91309b12eec7b0e7d51add411cdfc4c2..4b806ea8f4ba93ade4516f2e5f4525e10a34cb9f 100644 (file)
@@ -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
index d27b4a44a9d0763dcb1fa8ee472a7ed84a8cd861..262440b22102a1e246d0bc1d8d122d7d6ae63e6b 100644 (file)
@@ -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:
index adf26ff1a9eff70ba31e62c90f7ef6ebc72294d7..139b3e2b46572cbf2b7620d66577ba32faf9edcb 100644 (file)
@@ -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
index 0d90e62780aae530d71d6bc4c40c14e8ef207c1e..9f20e7d7a9f8004129622af3d5103efbf9add0a4 100644 (file)
@@ -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
index e28b4a38436006ade6026a3854f690d85031b9b0..fbfab7f97f81af8bb67438b5edf4d8f18fe2c94d 100644 (file)
@@ -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
index 10031e4b356a73dadca68b7f99b680272911eb83..2e38e199c47405064bae09b8ae6a460a8ef92662 100644 (file)
@@ -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:
index a71fa740c8f48b2de556cb22d504fb38b744cd8c..e22f183f1295aa6a791552f3898e917e6dd6f9d4 100644 (file)
@@ -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
index 7ea6afc527c79bbcaa6e2fef7450967a900c85d4..d96a65882b3a8c9980606b838a8e4563ad4a3a33 100644 (file)
@@ -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:
index bc81b5e6f18aceda5e3f5527c9301416efdc8d4a..893ac9d87ec25d711701aa04c4a0dc688d6de8c0 100644 (file)
@@ -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
index ea78bbb32c09e6f7533d3633f8756a74aed02265..1f021e510ae8b442e9c7ac4023067c0b1734b656 100644 (file)
@@ -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
index 0e1b7d2eebdac911b1173f4095cef0821f474fc5..ecc76b669b36a1ef62098ae4856275c9a889cd85 100644 (file)
@@ -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:
index 8a927ec74e6fa0259fbef0221598a4ccbd2cf1f8..4b9f8f8b28455605db65c8880a647fc8a251f438 100644 (file)
@@ -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
index f0a27b44b4944299fc63d88b973bfe16ccaa9499..2d3596c619f5a01f3be229c71d9406cbbae3e07a 100644 (file)
@@ -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
index e5e90a46ff6a91617c84ab0cb4b43c520830efd3..dc12d8f94ed00d752f79ae17d142169af6216739 100644 (file)
@@ -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
index 52b0ce532d5d78b23a70848a85f08dff6e8a0f29..ad7133aa14aca0c411bec0af40a292948ef7c3e9 100644 (file)
@@ -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
index e92da5298978201491e35fd3a475328c3d880246..20a4950073a6ed3ab5afe713e849cb1ae4a1566b 100644 (file)
@@ -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:
index 2302485af8c331dccf919e3b8c966c0e70a89e2e..4d757112c3788669091a8bfe8a848a1bb3675a79 100644 (file)
@@ -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
index ea5d2a19cfefd095b0728fe3487c15d255a90521..18ec02703fd6d8510ee7879110fbd4f7621309e2 100644 (file)
@@ -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
index 1157c69781ddee240a81923cf53ef96f8f810c65..9ebf116be52d85fe451f3bcdefde675e74704efe 100644 (file)
@@ -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
index 5455be90f2b44f85843d3f078a30b07a000dc7cf..af399986ab0a628f0424b17934bafa2633b03950 100644 (file)
@@ -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
index 20c805dd77418136aca3f5de888e1636a39ef671..902160f6b210319260a427f75628db5af75c11d0 100644 (file)
@@ -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
index 0834a00170a3de2d12efd044a898550aa264a4a8..d298cc0927de62c9f37cd9704ccdff49d3596231 100644 (file)
@@ -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
index fc881ada3de9428d536479b0738570f9b2eb9414..bde5356a3555f637abd38af93c870961bac07f91 100644 (file)
@@ -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
index 9a7d1f0f90912e35ca452fdc3b06cdd618afb1b3..d5cc29ec88fb05d60e329f4620eb861b8df2f5d4 100644 (file)
@@ -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
index 7ea90e025b6f539963348a7d32e78a2343e0fb97..7273066103f6e225655a27fa01b33c417bf7d64c 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-set -x
+set -x
 set -e
 
 ipset=${IPSET_BIN:-../src/ipset}
index 1a157e985532105671adc566297b0ac89d52c8e5..0aeb8522c250ccfea80aab9e3e52cf24ed8a6296 100644 (file)
@@ -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
index 7dc309f112c46b11e537d312b6af55ae78a55543..eed4abf2bd86e13884c0473be3760ab4e2d7c638 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# set -x
+#set -x
 set -e
 
 ipset=${IPSET_BIN:-../src/ipset}
index 65aa8b84f47da94ed01f07d80dc69780b6d852ff..3c73ab35862f29b00f88fdf9e5521736144323bf 100644 (file)
@@ -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
index 0602ab6a948bc6038391c61806a63d6455b2e98d..e2c1f8e9d4681fd9e5ca5ff2d1581c59e8a6c250 100644 (file)
@@ -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
index bce582489a5dae4b7ab060dab3fdcece686161e5..6b115d9d260a4d155ae86db3adf38021c3a125fb 100644 (file)
@@ -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
index 69aebd5f98461ab43112a7d83a2803f92faa4477..c5edad133b1d2c4e5ffff5a03ae7d50dfb737726 100755 (executable)
@@ -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