Fourth try at caching optimizations implementation. Changes since v3: * Rebase onto current master after pushing the accepted initial three patches. * Avoid cache inconsistency in __nft_build_cache() if kernel ruleset changed since last call. Phil Sutter (8): nft-cache: Introduce cache levels nft-cache: Fetch only chains in nft_chain_list_get() nft-cache: Cover for multiple fetcher invocation nft-cache: Support partial cache per table nft-cache: Support partial rule cache per chain nft: Reduce cache overhead of nft_chain_builtin_init() nft: Support nft_is_table_compatible() per chain nft: Optimize flushing all chains of a table iptables/nft-cache.c | 203 ++++++++++++++++++++++++++++++------- iptables/nft-cache.h | 9 +- iptables/nft.c | 108 +++++++++++++------- iptables/nft.h | 14 ++- iptables/xtables-restore.c | 4 +- iptables/xtables-save.c | 4 +- 6 files changed, 259 insertions(+), 83 deletions(-) -- 2.23.0