cache_release empties the cache, and marks it as uninitialized. Add cache_flush,
which does the same, except it keeps the cache initialized, eg. after a "nft
flush ruleset" when empty is the correct state of the cache.
Signed-off-by: Anatole Denis <anatole@rezel.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
extern int do_command(struct netlink_ctx *ctx, struct cmd *cmd);
extern int cache_update(enum cmd_ops cmd, struct list_head *msgs);
+extern void cache_flush(void);
extern void cache_release(void);
enum udata_type {
return 0;
}
-void cache_release(void)
+void cache_flush(void)
{
struct table *table, *next;
list_del(&table->list);
table_free(table);
}
+}
+
+void cache_release(void)
+{
+ cache_flush();
cache_initialized = false;
}