summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2021-11-29 15:36:45 +0100
committerPhil Sutter <phil@nwl.cc>2021-12-03 12:50:18 +0100
commit95781fcbddcd6524f67a3357c0cf91f13be24053 (patch)
tree97550ae5eb5a7bdbba27a77bd3a8252f54ce6a51 /include
parenta37212f2fd90739e17f3dbb96ea6284d7755bf5f (diff)
cache: Filter rule list on kernel side
Instead of fetching all existing rules in kernel's ruleset and filtering in user space, add payload to the dump request specifying the table and chain to filter for. Since list_rule_cb() no longer needs the filter, pass only netlink_ctx to the callback and drop struct rule_cache_dump_ctx. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'include')
-rw-r--r--include/mnl.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/mnl.h b/include/mnl.h
index 344030f3..19faa651 100644
--- a/include/mnl.h
+++ b/include/mnl.h
@@ -33,8 +33,8 @@ int mnl_nft_rule_add(struct netlink_ctx *ctx, struct cmd *cmd,
int mnl_nft_rule_del(struct netlink_ctx *ctx, struct cmd *cmd);
int mnl_nft_rule_replace(struct netlink_ctx *ctx, struct cmd *cmd);
-struct nftnl_rule_list *mnl_nft_rule_dump(struct netlink_ctx *ctx,
- int family);
+struct nftnl_rule_list *mnl_nft_rule_dump(struct netlink_ctx *ctx, int family,
+ const struct nft_cache_filter *filter);
int mnl_nft_chain_add(struct netlink_ctx *ctx, struct cmd *cmd,
unsigned int flags);