summaryrefslogtreecommitdiffstats
path: root/src/rule.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2019-06-07 11:06:56 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2019-06-07 11:14:13 +0200
commit8951c655e95b790ead4ff73a98b6c8027df876de (patch)
tree8c8d8d013260dab3cd7a0881eaa97d234e749378 /src/rule.c
parente0aace9434129fecd1ca2094f09dbeec46957ec3 (diff)
src: generation ID is 32-bit long
Update mnl_genid_get() to return 32-bit long generation ID. Add nft_genid_u16() which allows us to catch ruleset updates from the netlink dump path via 16-bit long nfnetlink resource ID field. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r--src/rule.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/rule.c b/src/rule.c
index 1e081c8f..65145473 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -244,8 +244,6 @@ static bool cache_is_updated(struct nft_cache *cache, uint16_t genid)
int cache_update(struct nft_ctx *nft, enum cmd_ops cmd, struct list_head *msgs)
{
- uint16_t genid;
- int ret;
struct netlink_ctx ctx = {
.list = LIST_HEAD_INIT(ctx.list),
.nft = nft,
@@ -253,7 +251,8 @@ int cache_update(struct nft_ctx *nft, enum cmd_ops cmd, struct list_head *msgs)
.nft = nft,
};
struct nft_cache *cache = &nft->cache;
-
+ uint32_t genid;
+ int ret;
replay:
ctx.seqnum = cache->seqnum++;
genid = mnl_genid_get(&ctx);