summaryrefslogtreecommitdiffstats
path: root/iptables/nft.c
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2018-08-03 15:55:55 +0200
committerFlorian Westphal <fw@strlen.de>2018-08-04 23:30:20 +0200
commit206033ede9461e1fc57590c5c1cefdb75235d99d (patch)
treec26fee3e17b51914ef64bf268b5a065aeecc8cfb /iptables/nft.c
parenta0698de9866d2e0ede5eee961a9da38e0ede7062 (diff)
xtables: Fix for no output on first iptables-nft invocation
Fix the same issue commit a4e78370af849 ("iptables-compat: fix empty chains after first invocation of iptables-compat -L") fixed back in 2014. Seems like some changes since then broke it again. This time, existing cache not containing the added table/chains gets into the way, so clear it if nft_commit() was called. Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'iptables/nft.c')
-rw-r--r--iptables/nft.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/iptables/nft.c b/iptables/nft.c
index 098b37ed..f9bd0ed2 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -2235,8 +2235,10 @@ int nft_rule_list(struct nft_handle *h, const char *chain, const char *table,
/* Force table and chain creation, otherwise first iptables -L
* lists no table/chains.
*/
- if (!list_empty(&h->obj_list))
+ if (!list_empty(&h->obj_list)) {
nft_commit(h);
+ flush_chain_cache(h, NULL);
+ }
}
ops = nft_family_ops_lookup(h->family);