From 0c7e18edb07ed205e7087b73a85fa692f45003ab Mon Sep 17 00:00:00 2001 From: Jozsef Kadlecsik Date: Thu, 25 Jun 2015 09:29:20 +0200 Subject: Add element count to all set types header It is better to list the set elements for all set types, thus the header information is uniform. Element counts are therefore added to the bitmap and list types. --- include/libipset/utils.h | 3 --- kernel/include/linux/netfilter/ipset/ip_set.h | 2 ++ .../include/linux/netfilter/ipset/ip_set_bitmap.h | 2 +- kernel/net/netfilter/ipset/ip_set_bitmap_gen.h | 10 +++++++++- kernel/net/netfilter/ipset/ip_set_hash_gen.h | 21 ++++++++++----------- kernel/net/netfilter/ipset/ip_set_list_set.c | 6 +++++- lib/errcode.c | 3 +++ lib/session.c | 4 ++-- src/ipset.8 | 5 +++++ tests/bitmap:ip.t.list0 | 3 ++- tests/bitmap:ip.t.list1 | 3 ++- tests/bitmap:ip.t.list2 | 3 ++- tests/bitmap:ip.t.list3 | 3 ++- tests/bitmap:ip.t.list4 | 3 ++- tests/bitmap:ip.t.list5 | 3 ++- tests/bitmap:ip.t.list6 | 3 ++- tests/comment.t.list0 | 1 + tests/comment.t.list1 | 1 + tests/comment.t.list11 | 3 ++- tests/comment.t.list12 | 3 ++- tests/ipmap.t.list0 | 3 ++- tests/ipmap.t.list1 | 3 ++- tests/ipmap.t.list2 | 3 ++- tests/ipmap.t.list3 | 3 ++- tests/ipmap.t.list4 | 3 ++- tests/macipmap.t.list0 | 3 ++- tests/macipmap.t.list1 | 3 ++- tests/macipmap.t.list2 | 3 ++- tests/macipmap.t.list3 | 3 ++- tests/portmap.t.list0 | 3 ++- tests/portmap.t.list1 | 3 ++- tests/portmap.t.list2 | 9 +++++---- tests/portmap.t.list3 | 3 ++- tests/setlist.t.list0 | 3 ++- tests/setlist.t.list1 | 3 ++- tests/setlist.t.list2 | 3 ++- tests/setlist.t.list3 | 3 ++- 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, "\n"); safe_dprintf(session, ipset_print_number, IPSET_OPT_REFERENCES); safe_snprintf(session, "\n"); - if (MATCH_TYPENAME(type->name , "hash:")) { + if (ipset_data_test(data, IPSET_OPT_ELEMENTS)) { safe_snprintf(session, ""); safe_dprintf(session, ipset_print_number, IPSET_OPT_ELEMENTS); safe_snprintf(session, "\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 -- cgit v1.2.3