path: root/iptables/nft.h
diff options
authorPhil Sutter <>2019-09-25 11:29:59 +0200
committerPhil Sutter <>2019-09-30 08:14:55 +0200
commit2a459ebc0ee53a57a92631fa07f6bf2b4f3fbc8c (patch)
treee78f5e8800509e44c8dfe204214f73297574ca59 /iptables/nft.h
parent3e450a6cc2325f4481dc86f074774dcdfd4947c3 (diff)
xtables-restore: Minimize caching when flushing
Unless --noflush was given, xtables-restore merely needs the list of tables to decide whether to delete it or not. Introduce nft_fake_cache() function which populates table list, initializes chain lists (so nft_chain_list_get() returns an empty list instead of NULL) and sets 'have_cache' to turn any later calls to nft_build_cache() into nops. If --noflush was given, call nft_build_cache() just once instead of for each table line in input. Signed-off-by: Phil Sutter <> Acked-by: Florian Westphal <>
Diffstat (limited to 'iptables/nft.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/iptables/nft.h b/iptables/nft.h
index 43463d7f..bcac8e22 100644
--- a/iptables/nft.h
+++ b/iptables/nft.h
@@ -73,6 +73,7 @@ int mnl_talk(struct nft_handle *h, struct nlmsghdr *nlh,
void *data);
int nft_init(struct nft_handle *h, const struct builtin_table *t);
void nft_fini(struct nft_handle *h);
+void nft_fake_cache(struct nft_handle *h);
void nft_build_cache(struct nft_handle *h);