diff mbox series

[iptables,v2,04/10] nft: Eliminate nft_chain_list_get()

Message ID 20200923174849.5773-5-phil@nwl.cc
State Under Review
Delegated to: Pablo Neira
Headers show
Series nft: Sorted chain listing et al. | expand

Commit Message

Phil Sutter Sept. 23, 2020, 5:48 p.m. UTC
Since introduction of nft_cache_add_chain(), there is merely a single
user of nft_chain_list_get() left. Hence fold the function into its
caller.

Signed-off-by: Phil Sutter <phil@nwl.cc>
---
 iptables/nft-cache.c | 13 -------------
 iptables/nft-cache.h |  2 --
 iptables/nft.c       |  8 +++++---
 3 files changed, 5 insertions(+), 18 deletions(-)

Comments

Pablo Neira Ayuso Oct. 12, 2020, 12:03 p.m. UTC | #1
On Wed, Sep 23, 2020 at 07:48:43PM +0200, Phil Sutter wrote:
> Since introduction of nft_cache_add_chain(), there is merely a single
> user of nft_chain_list_get() left. Hence fold the function into its
> caller.

Why this last update regarding nft_chain_list_get() and not in 02/10 ?

> Signed-off-by: Phil Sutter <phil@nwl.cc>
> ---
>  iptables/nft-cache.c | 13 -------------
>  iptables/nft-cache.h |  2 --
>  iptables/nft.c       |  8 +++++---
>  3 files changed, 5 insertions(+), 18 deletions(-)
> 
> diff --git a/iptables/nft-cache.c b/iptables/nft-cache.c
> index a22e693320451..109524c3fbc79 100644
> --- a/iptables/nft-cache.c
> +++ b/iptables/nft-cache.c
> @@ -684,16 +684,3 @@ nft_set_list_get(struct nft_handle *h, const char *table, const char *set)
>  
>  	return h->cache->table[t->type].sets;
>  }
> -
> -struct nftnl_chain_list *
> -nft_chain_list_get(struct nft_handle *h, const char *table, const char *chain)
> -{
> -	const struct builtin_table *t;
> -
> -	t = nft_table_builtin_find(h, table);
> -	if (!t)
> -		return NULL;
> -
> -	return h->cache->table[t->type].chains;
> -}
> -
> diff --git a/iptables/nft-cache.h b/iptables/nft-cache.h
> index d97f8de255f02..52ad2d396199e 100644
> --- a/iptables/nft-cache.h
> +++ b/iptables/nft-cache.h
> @@ -16,8 +16,6 @@ void nft_cache_build(struct nft_handle *h);
>  int nft_cache_add_chain(struct nft_handle *h, const struct builtin_table *t,
>  			struct nftnl_chain *c);
>  
> -struct nftnl_chain_list *
> -nft_chain_list_get(struct nft_handle *h, const char *table, const char *chain);
>  struct nftnl_set_list *
>  nft_set_list_get(struct nft_handle *h, const char *table, const char *set);
>  
> diff --git a/iptables/nft.c b/iptables/nft.c
> index 8e1a33ba69bf1..5967d36038953 100644
> --- a/iptables/nft.c
> +++ b/iptables/nft.c
> @@ -1837,13 +1837,15 @@ out:
>  static struct nftnl_chain *
>  nft_chain_find(struct nft_handle *h, const char *table, const char *chain)
>  {
> +	const struct builtin_table *t;
>  	struct nftnl_chain_list *list;
>  
> -	list = nft_chain_list_get(h, table, chain);
> -	if (list == NULL)
> +	t = nft_table_builtin_find(h, table);
> +	if (!t)
>  		return NULL;
>  
> -	return nftnl_chain_list_lookup_byname(list, chain);
> +	list = h->cache->table[t->type].chains;
> +	return list ? nftnl_chain_list_lookup_byname(list, chain) : NULL;
>  }
>  
>  bool nft_chain_exists(struct nft_handle *h,
> -- 
> 2.28.0
>
Phil Sutter Oct. 13, 2020, 9:44 a.m. UTC | #2
On Mon, Oct 12, 2020 at 02:03:41PM +0200, Pablo Neira Ayuso wrote:
> On Wed, Sep 23, 2020 at 07:48:43PM +0200, Phil Sutter wrote:
> > Since introduction of nft_cache_add_chain(), there is merely a single
> > user of nft_chain_list_get() left. Hence fold the function into its
> > caller.
> 
> Why this last update regarding nft_chain_list_get() and not in 02/10 ?

Ah yes, I could have reordered the patches a bit. In patch 3/10, there
are some nft_chain_list_get() removals, too. So I couldn't remove the
function in 2/10 already. I should move 3/10 to before 2/10 and then
combine that with 4/10. ACK?

Thanks, Phil
diff mbox series

Patch

diff --git a/iptables/nft-cache.c b/iptables/nft-cache.c
index a22e693320451..109524c3fbc79 100644
--- a/iptables/nft-cache.c
+++ b/iptables/nft-cache.c
@@ -684,16 +684,3 @@  nft_set_list_get(struct nft_handle *h, const char *table, const char *set)
 
 	return h->cache->table[t->type].sets;
 }
-
-struct nftnl_chain_list *
-nft_chain_list_get(struct nft_handle *h, const char *table, const char *chain)
-{
-	const struct builtin_table *t;
-
-	t = nft_table_builtin_find(h, table);
-	if (!t)
-		return NULL;
-
-	return h->cache->table[t->type].chains;
-}
-
diff --git a/iptables/nft-cache.h b/iptables/nft-cache.h
index d97f8de255f02..52ad2d396199e 100644
--- a/iptables/nft-cache.h
+++ b/iptables/nft-cache.h
@@ -16,8 +16,6 @@  void nft_cache_build(struct nft_handle *h);
 int nft_cache_add_chain(struct nft_handle *h, const struct builtin_table *t,
 			struct nftnl_chain *c);
 
-struct nftnl_chain_list *
-nft_chain_list_get(struct nft_handle *h, const char *table, const char *chain);
 struct nftnl_set_list *
 nft_set_list_get(struct nft_handle *h, const char *table, const char *set);
 
diff --git a/iptables/nft.c b/iptables/nft.c
index 8e1a33ba69bf1..5967d36038953 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -1837,13 +1837,15 @@  out:
 static struct nftnl_chain *
 nft_chain_find(struct nft_handle *h, const char *table, const char *chain)
 {
+	const struct builtin_table *t;
 	struct nftnl_chain_list *list;
 
-	list = nft_chain_list_get(h, table, chain);
-	if (list == NULL)
+	t = nft_table_builtin_find(h, table);
+	if (!t)
 		return NULL;
 
-	return nftnl_chain_list_lookup_byname(list, chain);
+	list = h->cache->table[t->type].chains;
+	return list ? nftnl_chain_list_lookup_byname(list, chain) : NULL;
 }
 
 bool nft_chain_exists(struct nft_handle *h,