summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libipset/utils.h3
-rw-r--r--kernel/include/linux/netfilter/ipset/ip_set.h2
-rw-r--r--kernel/include/linux/netfilter/ipset/ip_set_bitmap.h2
-rw-r--r--kernel/net/netfilter/ipset/ip_set_bitmap_gen.h10
-rw-r--r--kernel/net/netfilter/ipset/ip_set_hash_gen.h21
-rw-r--r--kernel/net/netfilter/ipset/ip_set_list_set.c6
-rw-r--r--lib/errcode.c3
-rw-r--r--lib/session.c4
-rw-r--r--src/ipset.85
-rw-r--r--tests/bitmap:ip.t.list03
-rw-r--r--tests/bitmap:ip.t.list13
-rw-r--r--tests/bitmap:ip.t.list23
-rw-r--r--tests/bitmap:ip.t.list33
-rw-r--r--tests/bitmap:ip.t.list43
-rw-r--r--tests/bitmap:ip.t.list53
-rw-r--r--tests/bitmap:ip.t.list63
-rw-r--r--tests/comment.t.list01
-rw-r--r--tests/comment.t.list11
-rw-r--r--tests/comment.t.list113
-rw-r--r--tests/comment.t.list123
-rw-r--r--tests/ipmap.t.list03
-rw-r--r--tests/ipmap.t.list13
-rw-r--r--tests/ipmap.t.list23
-rw-r--r--tests/ipmap.t.list33
-rw-r--r--tests/ipmap.t.list43
-rw-r--r--tests/macipmap.t.list03
-rw-r--r--tests/macipmap.t.list13
-rw-r--r--tests/macipmap.t.list23
-rw-r--r--tests/macipmap.t.list33
-rw-r--r--tests/portmap.t.list03
-rw-r--r--tests/portmap.t.list13
-rw-r--r--tests/portmap.t.list29
-rw-r--r--tests/portmap.t.list33
-rw-r--r--tests/setlist.t.list03
-rw-r--r--tests/setlist.t.list13
-rw-r--r--tests/setlist.t.list23
-rw-r--r--tests/setlist.t.list33
37 files changed, 94 insertions, 48 deletions
diff --git a/include/libipset/utils.h b/include/libipset/utils.h
index ceedd45..3cd29da 100644
--- a/include/libipset/utils.h
+++ b/include/libipset/utils.h
@@ -19,9 +19,6 @@
#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/include/linux/netfilter/ipset/ip_set.h b/kernel/include/linux/netfilter/ipset/ip_set.h
index f54389b..0ed3ac5 100644
--- a/kernel/include/linux/netfilter/ipset/ip_set.h
+++ b/kernel/include/linux/netfilter/ipset/ip_set.h
@@ -247,6 +247,8 @@ struct ip_set {
u8 flags;
/* Default timeout value, if enabled */
u32 timeout;
+ /* Number of elements (vs timeout) */
+ u32 elements;
/* Element data size */
size_t dsize;
/* Offsets to extensions in elements */
diff --git a/kernel/include/linux/netfilter/ipset/ip_set_bitmap.h b/kernel/include/linux/netfilter/ipset/ip_set_bitmap.h
index 5e4662a..366d6c0 100644
--- a/kernel/include/linux/netfilter/ipset/ip_set_bitmap.h
+++ b/kernel/include/linux/netfilter/ipset/ip_set_bitmap.h
@@ -6,8 +6,8 @@
#define IPSET_BITMAP_MAX_RANGE 0x0000FFFF
enum {
+ IPSET_ADD_STORE_PLAIN_TIMEOUT = -1,
IPSET_ADD_FAILED = 1,
- IPSET_ADD_STORE_PLAIN_TIMEOUT,
IPSET_ADD_START_STORED_TIMEOUT,
};
diff --git a/kernel/net/netfilter/ipset/ip_set_bitmap_gen.h b/kernel/net/netfilter/ipset/ip_set_bitmap_gen.h
index b984bcf..efe87cf 100644
--- a/kernel/net/netfilter/ipset/ip_set_bitmap_gen.h
+++ b/kernel/net/netfilter/ipset/ip_set_bitmap_gen.h
@@ -86,6 +86,7 @@ mtype_flush(struct ip_set *set)
if (set->extensions & IPSET_EXT_DESTROY)
mtype_ext_cleanup(set);
memset(map->members, 0, map->memsize);
+ set->elements = 0;
}
/* Calculate the actual memory size of the set data */
@@ -111,7 +112,8 @@ mtype_head(struct ip_set *set, struct sk_buff *skb)
goto nla_put_failure;
if (mtype_do_head(skb, map) ||
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(set->elements)))
goto nla_put_failure;
if (unlikely(ip_set_put_flags(skb, set)))
goto nla_put_failure;
@@ -155,6 +157,7 @@ mtype_add(struct ip_set *set, void *value, const struct ip_set_ext *ext,
if (ret == IPSET_ADD_FAILED) {
if (SET_WITH_TIMEOUT(set) &&
ip_set_timeout_expired(ext_timeout(x, set))) {
+ set->elements--;
ret = 0;
} else if (!(flags & IPSET_FLAG_EXIST)) {
set_bit(e->id, map->members);
@@ -163,6 +166,8 @@ mtype_add(struct ip_set *set, void *value, const struct ip_set_ext *ext,
/* Element is re-added, cleanup extensions */
ip_set_ext_destroy(set, x);
}
+ if (ret > 0)
+ set->elements--;
if (SET_WITH_TIMEOUT(set))
#ifdef IP_SET_BITMAP_STORED_TIMEOUT
@@ -180,6 +185,7 @@ mtype_add(struct ip_set *set, void *value, const struct ip_set_ext *ext,
/* Activate element */
set_bit(e->id, map->members);
+ set->elements++;
return 0;
}
@@ -196,6 +202,7 @@ mtype_del(struct ip_set *set, void *value, const struct ip_set_ext *ext,
return -IPSET_ERR_EXIST;
ip_set_ext_destroy(set, x);
+ set->elements--;
if (SET_WITH_TIMEOUT(set) &&
ip_set_timeout_expired(ext_timeout(x, set)))
return -IPSET_ERR_EXIST;
@@ -291,6 +298,7 @@ mtype_gc(unsigned long ul_set)
if (ip_set_timeout_expired(ext_timeout(x, set))) {
clear_bit(id, map->members);
ip_set_ext_destroy(set, x);
+ set->elements--;
}
}
spin_unlock_bh(&set->lock);
diff --git a/kernel/net/netfilter/ipset/ip_set_hash_gen.h b/kernel/net/netfilter/ipset/ip_set_hash_gen.h
index 2b59b20..191707d 100644
--- a/kernel/net/netfilter/ipset/ip_set_hash_gen.h
+++ b/kernel/net/netfilter/ipset/ip_set_hash_gen.h
@@ -272,7 +272,6 @@ htable_bits(u32 hashsize)
struct htype {
struct htable __rcu *table; /* the hash table */
u32 maxelem; /* max elements in the hash */
- u32 elements; /* current element (vs timeout) */
u32 initval; /* random jhash init value */
#ifdef IP_SET_HASH_WITH_MARKMASK
u32 markmask; /* markmask value for mark mask to store */
@@ -397,7 +396,7 @@ mtype_flush(struct ip_set *set)
#ifdef IP_SET_HASH_WITH_NETS
memset(h->nets, 0, sizeof(struct net_prefixes) * NLEN(set->family));
#endif
- h->elements = 0;
+ set->elements = 0;
}
/* Destroy the hashtable part of the set */
@@ -503,7 +502,7 @@ mtype_expire(struct ip_set *set, struct htype *h, u8 nets_length, size_t dsize)
nets_length, k);
#endif
ip_set_ext_destroy(set, data);
- h->elements--;
+ set->elements--;
d++;
}
}
@@ -707,11 +706,11 @@ mtype_add(struct ip_set *set, void *value, const struct ip_set_ext *ext,
bool deleted = false, forceadd = false, reuse = false;
u32 key, multi = 0;
- if (h->elements >= h->maxelem) {
+ if (set->elements >= h->maxelem) {
if (SET_WITH_TIMEOUT(set))
/* FIXME: when set is full, we slow down here */
mtype_expire(set, h, NLEN(set->family), set->dsize);
- if (h->elements >= h->maxelem && SET_WITH_FORCEADD(set))
+ if (set->elements >= h->maxelem && SET_WITH_FORCEADD(set))
forceadd = true;
}
@@ -724,7 +723,7 @@ mtype_add(struct ip_set *set, void *value, const struct ip_set_ext *ext,
pr_warn("Set %s is full, maxelem %u reached\n",
set->name, h->maxelem);
return -IPSET_ERR_HASH_FULL;
- } else if (h->elements >= h->maxelem) {
+ } else if (set->elements >= h->maxelem) {
goto set_full;
}
old = NULL;
@@ -773,11 +772,11 @@ mtype_add(struct ip_set *set, void *value, const struct ip_set_ext *ext,
NLEN(set->family), i);
#endif
ip_set_ext_destroy(set, data);
- h->elements--;
+ set->elements--;
}
goto copy_data;
}
- if (h->elements >= h->maxelem)
+ if (set->elements >= h->maxelem)
goto set_full;
/* Create a new slot */
if (n->pos >= n->size) {
@@ -802,7 +801,7 @@ copy_elem:
j = n->pos++;
data = ahash_data(n, j, set->dsize);
copy_data:
- h->elements++;
+ set->elements++;
#ifdef IP_SET_HASH_WITH_NETS
for (i = 0; i < IPSET_NET_COUNT; i++)
mtype_add_cidr(h, NCIDR_PUT(DCIDR_GET(d->cidr, i)),
@@ -875,7 +874,7 @@ mtype_del(struct ip_set *set, void *value, const struct ip_set_ext *ext,
smp_mb__after_atomic();
if (i + 1 == n->pos)
n->pos--;
- h->elements--;
+ set->elements--;
#ifdef IP_SET_HASH_WITH_NETS
for (j = 0; j < IPSET_NET_COUNT; j++)
mtype_del_cidr(h, NCIDR_PUT(DCIDR_GET(d->cidr, j)),
@@ -1076,7 +1075,7 @@ mtype_head(struct ip_set *set, struct sk_buff *skb)
#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_ELEMENTS, htonl(h->elements)))
+ nla_put_net32(skb, IPSET_ATTR_ELEMENTS, htonl(set->elements)))
goto nla_put_failure;
if (unlikely(ip_set_put_flags(skb, set)))
goto nla_put_failure;
diff --git a/kernel/net/netfilter/ipset/ip_set_list_set.c b/kernel/net/netfilter/ipset/ip_set_list_set.c
index db55d58..db0198d 100644
--- a/kernel/net/netfilter/ipset/ip_set_list_set.c
+++ b/kernel/net/netfilter/ipset/ip_set_list_set.c
@@ -166,6 +166,7 @@ __list_set_del(struct ip_set *set, struct set_elem *e)
static inline void
list_set_del(struct ip_set *set, struct set_elem *e)
{
+ set->elements--;
list_del_rcu(&e->list);
__list_set_del(set, e);
}
@@ -311,6 +312,7 @@ list_set_uadd(struct ip_set *set, void *value, const struct ip_set_ext *ext,
list_add_rcu(&e->list, &prev->list);
else
list_add_tail_rcu(&e->list, &map->members);
+ set->elements++;
return 0;
}
@@ -421,6 +423,7 @@ list_set_flush(struct ip_set *set)
list_for_each_entry_safe(e, n, &map->members, list)
list_set_del(set, e);
+ set->elements = 0;
}
static void
@@ -470,7 +473,8 @@ list_set_head(struct ip_set *set, struct sk_buff *skb)
goto nla_put_failure;
if (nla_put_net32(skb, IPSET_ATTR_SIZE, htonl(map->size)) ||
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(set->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 3881121..60220c7 100644
--- a/lib/errcode.c
+++ b/lib/errcode.c
@@ -148,6 +148,9 @@ static const struct ipset_errcode_table list_errcode_table[] = {
{ },
};
+/* Match set type names */
+#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 2650755..95c253e 100644
--- a/lib/session.c
+++ b/lib/session.c
@@ -931,7 +931,7 @@ 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:")) {
+ if (ipset_data_test(data, IPSET_OPT_ELEMENTS)) {
safe_snprintf(session, "\nNumber of entries: ");
safe_dprintf(session, ipset_print_number, IPSET_OPT_ELEMENTS);
}
@@ -945,7 +945,7 @@ list_create(struct ipset_session *session, struct nlattr *nla[])
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:")) {
+ if (ipset_data_test(data, IPSET_OPT_ELEMENTS)) {
safe_snprintf(session, "<numentries>");
safe_dprintf(session, ipset_print_number, IPSET_OPT_ELEMENTS);
safe_snprintf(session, "</numentries>\n");
diff --git a/src/ipset.8 b/src/ipset.8
index 7c8f56e..b97ea41 100644
--- a/src/ipset.8
+++ b/src/ipset.8
@@ -279,6 +279,11 @@ ipset add test 192.168.0.1 timeout 60
.IP
ipset \-exist add test 192.168.0.1 timeout 600
.PP
+When listing the set, the number of entries printed in the header might be
+larger than the listed number of entries for sets with the timeout extensions:
+the number of entries in the set is updated when elements added/deleted to the
+set and periodically when the garbage colletor evicts the timed out entries.
+.PP
.SS "counters, packets, bytes"
All set types support the optional \fBcounters\fR
option when creating a set. If the option is specified then the set is created
diff --git a/tests/bitmap:ip.t.list0 b/tests/bitmap:ip.t.list0
index c316603..ad9a693 100644
--- a/tests/bitmap:ip.t.list0
+++ b/tests/bitmap:ip.t.list0
@@ -1,7 +1,8 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0 timeout 5
-Size in memory: 524408
+Size in memory: 532640
References: 0
+Number of entries: 1
Members:
2.1.0.0 timeout 0
diff --git a/tests/bitmap:ip.t.list1 b/tests/bitmap:ip.t.list1
index 3c94983..a9504f6 100644
--- a/tests/bitmap:ip.t.list1
+++ b/tests/bitmap:ip.t.list1
@@ -1,7 +1,8 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.0-2.0.255.255 timeout 5
-Size in memory: 524408
+Size in memory: 532640
References: 0
+Number of entries: 1
Members:
2.0.0.0 timeout 0
diff --git a/tests/bitmap:ip.t.list2 b/tests/bitmap:ip.t.list2
index 78bce6c..ddf8100 100644
--- a/tests/bitmap:ip.t.list2
+++ b/tests/bitmap:ip.t.list2
@@ -1,7 +1,8 @@
Name: test
Type: bitmap:ip
Header: range 10.0.0.0-10.255.255.255 netmask 24 timeout 5
-Size in memory: 524408
+Size in memory: 532640
References: 0
+Number of entries: 1
Members:
10.255.255.0 timeout 0
diff --git a/tests/bitmap:ip.t.list3 b/tests/bitmap:ip.t.list3
index 3f4e064..e1a4d43 100644
--- a/tests/bitmap:ip.t.list3
+++ b/tests/bitmap:ip.t.list3
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 0.0.0.0-255.255.255.255 netmask 16 timeout 5
-Size in memory: 524408
+Size in memory: 532640
References: 0
+Number of entries: 2
Members:
0.0.0.0 timeout 0
255.255.0.0 timeout 0
diff --git a/tests/bitmap:ip.t.list4 b/tests/bitmap:ip.t.list4
index e706b67..7148a8d 100644
--- a/tests/bitmap:ip.t.list4
+++ b/tests/bitmap:ip.t.list4
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0 timeout x
-Size in memory: 524408
+Size in memory: 532640
References: 0
+Number of entries: 6
Members:
2.0.0.1 timeout x
2.0.0.128 timeout x
diff --git a/tests/bitmap:ip.t.list5 b/tests/bitmap:ip.t.list5
index 2d91635..1d22665 100644
--- a/tests/bitmap:ip.t.list5
+++ b/tests/bitmap:ip.t.list5
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.0-2.0.255.255 timeout x
-Size in memory: 524408
+Size in memory: 532640
References: 0
+Number of entries: 2
Members:
2.0.0.0 timeout x
2.0.255.255 timeout x
diff --git a/tests/bitmap:ip.t.list6 b/tests/bitmap:ip.t.list6
index 68b1b07..c3eb347 100644
--- a/tests/bitmap:ip.t.list6
+++ b/tests/bitmap:ip.t.list6
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 10.0.0.0-10.255.255.255 netmask 24 timeout x
-Size in memory: 524408
+Size in memory: 532640
References: 0
+Number of entries: 258
Members:
10.0.0.0 timeout x
10.8.0.0 timeout x
diff --git a/tests/comment.t.list0 b/tests/comment.t.list0
index 86bcacd..6d44c91 100644
--- a/tests/comment.t.list0
+++ b/tests/comment.t.list0
@@ -3,5 +3,6 @@ Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0 comment
Size in memory: 532640
References: 0
+Number of entries: 1
Members:
2.0.0.1 comment "text message"
diff --git a/tests/comment.t.list1 b/tests/comment.t.list1
index 607b65a..1a09672 100644
--- a/tests/comment.t.list1
+++ b/tests/comment.t.list1
@@ -3,6 +3,7 @@ Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0 comment
Size in memory: 532640
References: 0
+Number of entries: 255
Members:
2.0.0.1 comment "text message 1"
2.0.0.2 comment "text message 2"
diff --git a/tests/comment.t.list11 b/tests/comment.t.list11
index 19168a8..7d6990f 100644
--- a/tests/comment.t.list11
+++ b/tests/comment.t.list11
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0 timeout x comment
-Size in memory: 1581216
+Size in memory: 1056928
References: 0
+Number of entries: 510
Members:
2.0.0.1 timeout x comment "text message 1"
2.0.0.2 timeout x comment "text message 2"
diff --git a/tests/comment.t.list12 b/tests/comment.t.list12
index 54b0a3a..9440b75 100644
--- a/tests/comment.t.list12
+++ b/tests/comment.t.list12
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0 timeout x comment
-Size in memory: 1581216
+Size in memory: 1056928
References: 0
+Number of entries: 510
Members:
2.0.1.1 timeout x comment "text message 1"
2.0.1.2 timeout x comment "text message 2"
diff --git a/tests/ipmap.t.list0 b/tests/ipmap.t.list0
index c1c4360..d3b99a8 100644
--- a/tests/ipmap.t.list0
+++ b/tests/ipmap.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0
-Size in memory: 8232
+Size in memory: 8352
References: 0
+Number of entries: 6
Members:
2.0.0.1
2.0.0.128
diff --git a/tests/ipmap.t.list1 b/tests/ipmap.t.list1
index abfc98d..f9b311d 100644
--- a/tests/ipmap.t.list1
+++ b/tests/ipmap.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.1-2.1.0.0
-Size in memory: 8232
+Size in memory: 8352
References: 0
+Number of entries: 2
Members:
2.0.0.1
2.1.0.0
diff --git a/tests/ipmap.t.list2 b/tests/ipmap.t.list2
index 932cad2..c2c5691 100644
--- a/tests/ipmap.t.list2
+++ b/tests/ipmap.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 2.0.0.0-2.0.255.255
-Size in memory: 8232
+Size in memory: 8352
References: 0
+Number of entries: 2
Members:
2.0.0.0
2.0.255.255
diff --git a/tests/ipmap.t.list3 b/tests/ipmap.t.list3
index ab391d0..3586211 100644
--- a/tests/ipmap.t.list3
+++ b/tests/ipmap.t.list3
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 10.0.0.0-10.255.255.255 netmask 24
-Size in memory: 8232
+Size in memory: 8352
References: 0
+Number of entries: 258
Members:
10.0.0.0
10.8.0.0
diff --git a/tests/ipmap.t.list4 b/tests/ipmap.t.list4
index eaff220..2042ee6 100644
--- a/tests/ipmap.t.list4
+++ b/tests/ipmap.t.list4
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip
Header: range 0.0.0.0-255.255.255.255 netmask 16
-Size in memory: 8232
+Size in memory: 8352
References: 0
+Number of entries: 2
Members:
0.0.0.0
255.255.0.0
diff --git a/tests/macipmap.t.list0 b/tests/macipmap.t.list0
index d37e560..4268a2c 100644
--- a/tests/macipmap.t.list0
+++ b/tests/macipmap.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip,mac
Header: range 2.0.0.1-2.1.0.0
-Size in memory: 458864
+Size in memory: 532632
References: 0
+Number of entries: 3
Members:
2.0.0.1,00:11:22:33:44:56
2.0.0.2,00:11:22:33:44:55
diff --git a/tests/macipmap.t.list1 b/tests/macipmap.t.list1
index 0447c41..a568148 100644
--- a/tests/macipmap.t.list1
+++ b/tests/macipmap.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip,mac
Header: range 2.0.0.0-2.0.255.255
-Size in memory: 458864
+Size in memory: 532632
References: 0
+Number of entries: 3
Members:
2.0.0.0
2.0.0.2,00:11:22:33:44:55
diff --git a/tests/macipmap.t.list2 b/tests/macipmap.t.list2
index 0c8bf6f..f6a78c7 100644
--- a/tests/macipmap.t.list2
+++ b/tests/macipmap.t.list2
@@ -1,7 +1,8 @@
Name: test
Type: bitmap:ip,mac
Header: range 2.0.0.1-2.1.0.0 timeout x
-Size in memory: 1048688
+Size in memory: 1056920
References: 0
+Number of entries: 1
Members:
2.1.0.0 timeout x
diff --git a/tests/macipmap.t.list3 b/tests/macipmap.t.list3
index bf78821..78c78d3 100644
--- a/tests/macipmap.t.list3
+++ b/tests/macipmap.t.list3
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:ip,mac
Header: range 2.0.0.1-2.1.0.0 timeout x
-Size in memory: 1048688
+Size in memory: 1056920
References: 0
+Number of entries: 3
Members:
2.0.0.1,00:11:22:33:44:56 timeout x
2.0.0.2,00:11:22:33:44:55 timeout x
diff --git a/tests/portmap.t.list0 b/tests/portmap.t.list0
index 4ff6b1f..7f8657e 100644
--- a/tests/portmap.t.list0
+++ b/tests/portmap.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:port
Header: range 1-1024
-Size in memory: 152
+Size in memory: 276
References: 0
+Number of entries: 2
Members:
1
1024
diff --git a/tests/portmap.t.list1 b/tests/portmap.t.list1
index a34caba..55ba0d0 100644
--- a/tests/portmap.t.list1
+++ b/tests/portmap.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:port
Header: range 0-65535
-Size in memory: 8216
+Size in memory: 8340
References: 0
+Number of entries: 2
Members:
0
65535
diff --git a/tests/portmap.t.list2 b/tests/portmap.t.list2
index 6afaf02..d5756e6 100644
--- a/tests/portmap.t.list2
+++ b/tests/portmap.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:port
-Header: range 0-65535 timeout 8
-Elements: 1
-Size in memory: 524288
+Header: range 0-65535 timeout x
+Size in memory: 532628
References: 0
+Number of entries: 2
Members:
-65535 timeout 0
+0 timeout x
+65535 timeout x
diff --git a/tests/portmap.t.list3 b/tests/portmap.t.list3
index 441da01..d5756e6 100644
--- a/tests/portmap.t.list3
+++ b/tests/portmap.t.list3
@@ -1,8 +1,9 @@
Name: test
Type: bitmap:port
Header: range 0-65535 timeout x
-Size in memory: 524400
+Size in memory: 532628
References: 0
+Number of entries: 2
Members:
0 timeout x
65535 timeout x
diff --git a/tests/setlist.t.list0 b/tests/setlist.t.list0
index c413c26..2925a73 100644
--- a/tests/setlist.t.list0
+++ b/tests/setlist.t.list0
@@ -1,8 +1,9 @@
Name: test
Type: list:set
Header: size 8
-Size in memory: 112
+Size in memory: 224
References: 0
+Number of entries: 2
Members:
foo
bar
diff --git a/tests/setlist.t.list1 b/tests/setlist.t.list1
index 47ba175..5446c14 100644
--- a/tests/setlist.t.list1
+++ b/tests/setlist.t.list1
@@ -1,8 +1,9 @@
Name: test
Type: list:set
Header: size 8
-Size in memory: 120
+Size in memory: 264
References: 0
+Number of entries: 3
Members:
a
b
diff --git a/tests/setlist.t.list2 b/tests/setlist.t.list2
index d1bb378..70fb52b 100644
--- a/tests/setlist.t.list2
+++ b/tests/setlist.t.list2
@@ -1,8 +1,9 @@
Name: test
Type: list:set
Header: size 8
-Size in memory: 120
+Size in memory: 224
References: 0
+Number of entries: 2
Members:
a
c
diff --git a/tests/setlist.t.list3 b/tests/setlist.t.list3
index 0a9e0b4..6be4b37 100644
--- a/tests/setlist.t.list3
+++ b/tests/setlist.t.list3
@@ -1,7 +1,8 @@
Name: test
Type: list:set
Header: size 8
-Size in memory: 120
+Size in memory: 184
References: 0
+Number of entries: 1
Members:
a