Florian Westphal 81d19bc4a5 set: dump set backend name (hash, rbtree...) and elem count, if available
In case kernel provided the information do include it in debug dump:

nft --debug=netlink list ruleset
family 2 s t 0 backend nft_set_rhash_type
family 2 __set0 t 3 size 3 backend nft_set_hash_fast_type count 3
family 2 __set1 t 3 size 2 backend nft_set_bitmap_type count 2
[..]

Signed-off-by: Florian Westphal <fw@strlen.de>
2025-06-22 19:38:17 +02:00

47 lines
906 B
C

#ifndef _LIBNFTNL_SET_INTERNAL_H_
#define _LIBNFTNL_SET_INTERNAL_H_
#include <linux/netfilter/nf_tables.h>
struct nftnl_set {
struct list_head head;
struct hlist_node hnode;
uint32_t family;
uint32_t set_flags;
const char *table;
const char *name;
const char *type;
uint64_t handle;
uint32_t key_type;
uint32_t key_len;
uint32_t data_type;
uint32_t data_len;
uint32_t obj_type;
struct {
void *data;
uint32_t len;
} user;
uint32_t id;
enum nft_set_policies policy;
struct {
uint32_t size;
uint8_t field_len[NFT_REG32_COUNT];
uint8_t field_count;
} desc;
struct list_head element_list;
uint32_t flags;
uint32_t elemcount;
uint32_t gc_interval;
uint64_t timeout;
struct list_head expr_list;
};
struct nftnl_set_list;
struct nftnl_expr;
int nftnl_set_lookup_id(struct nftnl_expr *e, struct nftnl_set_list *set_list,
uint32_t *set_id);
#endif