summaryrefslogtreecommitdiffstats
path: root/src/cache.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-10-25 23:34:07 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-10-27 00:37:46 +0200
commit8ad4003f8b790ffefb44005254451d91ac4221b6 (patch)
treefcfba4c6bcedf9b37927f25b63687327d302179f /src/cache.c
parentcd4a4a385793bc423062c564eb6504d2c565f481 (diff)
cache: honor filter in set listing commands
Fetch table, set and set elements only for set listing commands, e.g. nft list set inet filter ipv4_bogons. Fixes: 635ee1cad8aa ("cache: filter out sets and maps that are not requested") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/cache.c')
-rw-r--r--src/cache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cache.c b/src/cache.c
index 3cbf99e8..691e8131 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -146,6 +146,8 @@ static unsigned int evaluate_cache_list(struct nft_ctx *nft, struct cmd *cmd,
}
if (nft_output_terse(&nft->output))
flags |= (NFT_CACHE_FULL & ~NFT_CACHE_SETELEM);
+ else if (filter->table && filter->set)
+ flags |= NFT_CACHE_TABLE | NFT_CACHE_SET | NFT_CACHE_SETELEM;
else
flags |= NFT_CACHE_FULL;
break;