From 0c7e18edb07ed205e7087b73a85fa692f45003ab Mon Sep 17 00:00:00 2001 From: Jozsef Kadlecsik Date: Thu, 25 Jun 2015 09:29:20 +0200 Subject: [PATCH] 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 ++ .../linux/netfilter/ipset/ip_set_bitmap.h | 2 +- .../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 ceedd459..3cd29da5 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 f54389b8..0ed3ac5f 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 5e4662a7..366d6c0e 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 b984bcf0..efe87cf1 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 2b59b203..191707df 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 db55d585..db0198d1 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 38811211..60220c70 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 2650755a..95c253ec 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 7c8f56e6..b97ea41a 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 c3166037..ad9a693e 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 3c94983d..a9504f62 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 78bce6c2..ddf81000 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 3f4e0644..e1a4d432 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 e706b67e..7148a8de 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 2d916352..1d226653 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 68b1b073..c3eb3477 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 86bcacdd..6d44c918 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 607b65a9..1a096722 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 19168a84..7d6990f4 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 54b0a3ab..9440b75e 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 c1c4360e..d3b99a89 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 abfc98d4..f9b311dd 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 932cad28..c2c56913 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 ab391d01..35862118 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 eaff2209..2042ee68 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 d37e5601..4268a2c5 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 0447c41d..a568148f 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 0c8bf6f6..f6a78c77 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 bf788214..78c78d35 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 4ff6b1fa..7f8657e0 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 a34caba6..55ba0d08 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 6afaf023..d5756e6a 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 441da01f..d5756e6a 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 c413c26a..2925a738 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 47ba1752..5446c14c 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 d1bb378e..70fb52b5 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 0a9e0b4a..6be4b374 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 -- 2.47.3