diff mbox series

[iptables,v2,04/14] nft: Simplify nftnl_rule_list_chain_save()

Message ID 20181213111607.5457-5-phil@nwl.cc
State Changes Requested
Delegated to: Pablo Neira
Headers show
Series Separate rule cache per chain et al. | expand

Commit Message

Phil Sutter Dec. 13, 2018, 11:15 a.m. UTC
Since there are per table chain caches, The chain list passed to that
function is comprised of chains belonging to the right table only.
Therefore the table name check can safely be skipped.

Signed-off-by: Phil Sutter <phil@nwl.cc>
---
 iptables/nft.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/iptables/nft.c b/iptables/nft.c
index 0869f2e222393..8c53dae7138ec 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -2369,8 +2369,7 @@  list_save(struct nftnl_rule *r, unsigned int num, unsigned int format)
 
 static int
 nftnl_rule_list_chain_save(struct nft_handle *h, const char *chain,
-			 const char *table, struct nftnl_chain_list *list,
-			 int counters)
+			   struct nftnl_chain_list *list, int counters)
 {
 	struct nftnl_chain_list_iter *iter;
 	struct nftnl_chain *c;
@@ -2381,15 +2380,12 @@  nftnl_rule_list_chain_save(struct nft_handle *h, const char *chain,
 
 	c = nftnl_chain_list_iter_next(iter);
 	while (c != NULL) {
-		const char *chain_table =
-			nftnl_chain_get_str(c, NFTNL_CHAIN_TABLE);
 		const char *chain_name =
 			nftnl_chain_get_str(c, NFTNL_CHAIN_NAME);
 		uint32_t policy =
 			nftnl_chain_get_u32(c, NFTNL_CHAIN_POLICY);
 
-		if (strcmp(table, chain_table) != 0 ||
-		    (chain && strcmp(chain, chain_name) != 0))
+		if (chain && strcmp(chain, chain_name) != 0)
 			goto next;
 
 		/* this is a base chain */
@@ -2446,7 +2442,7 @@  int nft_rule_list_save(struct nft_handle *h, const char *chain,
 
 	/* Dump policies and custom chains first */
 	if (!rulenum)
-		nftnl_rule_list_chain_save(h, chain, table, list, counters);
+		nftnl_rule_list_chain_save(h, chain, list, counters);
 
 	/* Now dump out rules in this table */
 	iter = nftnl_chain_list_iter_create(list);