From 33669157102ce46d3727450f40204029b7d63c6b Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Wed, 19 Jun 2013 11:46:37 +0200 Subject: set: add missing set/unset support for NFT_SET_ATTR_DATA_[TYPE|LEN] While at it, use fixed length uint32_t instead of size_t. Signed-off-by: Pablo Neira Ayuso --- src/internal.h | 4 ++-- src/set.c | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/internal.h b/src/internal.h index 7c0f8e9..fffca3d 100644 --- a/src/internal.h +++ b/src/internal.h @@ -42,9 +42,9 @@ struct nft_set { char *table; char *name; uint32_t key_type; - size_t key_len; + uint32_t key_len; uint32_t data_type; - size_t data_len; + uint32_t data_len; struct list_head element_list; uint32_t flags; diff --git a/src/set.c b/src/set.c index 8abbca4..b8d431e 100644 --- a/src/set.c +++ b/src/set.c @@ -82,6 +82,8 @@ void nft_set_attr_unset(struct nft_set *s, uint16_t attr) case NFT_SET_ATTR_FLAGS: case NFT_SET_ATTR_KEY_TYPE: case NFT_SET_ATTR_KEY_LEN: + case NFT_SET_ATTR_DATA_TYPE: + case NFT_SET_ATTR_DATA_LEN: case NFT_SET_ATTR_FAMILY: break; default: @@ -116,6 +118,12 @@ void nft_set_attr_set(struct nft_set *s, uint16_t attr, const void *data) case NFT_SET_ATTR_KEY_LEN: s->key_len = *((uint32_t *)data); break; + case NFT_SET_ATTR_DATA_TYPE: + s->data_type = *((uint32_t *)data); + break; + case NFT_SET_ATTR_DATA_LEN: + s->data_len = *((uint32_t *)data); + break; case NFT_SET_ATTR_FAMILY: s->family = *((uint32_t *)data); break; -- cgit v1.2.3