]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
cache: position does not require full cache
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 29 Aug 2024 10:42:17 +0000 (12:42 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 30 Aug 2024 10:34:17 +0000 (12:34 +0200)
position refers to the rule handle, it has similar cache requirements as
replace rule command, relax cache requirements.

Commit e5382c0d08e3 ("src: Support intra-transaction rule references")
uses position.id for index support which requires a full cache, but
only in such case.

Fixes: 01e5c6f0ed03 ("src: add cache level flags")
Tested-by: Eric Garver <eric@garver.life>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/cache.c

index b738a633d34d521903701b46e417fc89543d1692..c8ef16033551b92908f1abe68ba6cf00b6cee0bf 100644 (file)
@@ -58,8 +58,7 @@ static unsigned int evaluate_cache_add(struct cmd *cmd, unsigned int flags)
                flags |= NFT_CACHE_TABLE |
                         NFT_CACHE_SET;
 
-               if (cmd->handle.index.id ||
-                   cmd->handle.position.id)
+               if (cmd->handle.index.id)
                        flags |= NFT_CACHE_FULL | NFT_CACHE_UPDATE;
                break;
        default: