From 7df42800cf89e994b5179200825592d9b95c5fab Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 4 Jun 2019 12:02:18 +0200 Subject: src: single cache_update() call to build cache before evaluation This patch allows us to make one single cache_update() call. Thus, there is not need to rebuild an incomplete cache from the middle of the batch processing. Note that nft_run_cmd_from_filename() does not need a full netlink dump to build the cache anymore, this should speed nft -f with incremental updates and very large rulesets. cache_evaluate() calculates the netlink dump to populate the cache that this batch needs. Signed-off-by: Pablo Neira Ayuso --- include/rule.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/rule.h') diff --git a/include/rule.h b/include/rule.h index 8e70c129..bf3f3963 100644 --- a/include/rule.h +++ b/include/rule.h @@ -631,6 +631,7 @@ extern struct error_record *rule_postprocess(struct rule *rule); struct netlink_ctx; extern int do_command(struct netlink_ctx *ctx, struct cmd *cmd); +extern int cache_evaluate(struct nft_ctx *nft, struct list_head *cmds); extern int cache_update(struct nft_ctx *ctx, enum cmd_ops cmd, struct list_head *msgs); extern void cache_flush(struct nft_ctx *ctx, enum cmd_ops cmd, -- cgit v1.2.3