summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2020-09-10 16:19:44 +0200
committerPhil Sutter <phil@nwl.cc>2020-12-21 18:33:21 +0100
commit9189d1898f2f6c10689e1147e97f3a382d272e41 (patch)
tree862531bdeb69e1c65078a3ec955a9e45a107e657
parent09af1117340cfd1885eb2f0a7b522f2d85f66185 (diff)
nft: cache: Move nft_chain_find() over
It is basically just a cache lookup, hence fits better in here. Signed-off-by: Phil Sutter <phil@nwl.cc>
-rw-r--r--iptables/nft-cache.c14
-rw-r--r--iptables/nft-cache.h3
-rw-r--r--iptables/nft.c17
3 files changed, 17 insertions, 17 deletions
diff --git a/iptables/nft-cache.c b/iptables/nft-cache.c
index 109524c3..929fa0fa 100644
--- a/iptables/nft-cache.c
+++ b/iptables/nft-cache.c
@@ -165,6 +165,20 @@ static int fetch_table_cache(struct nft_handle *h)
return 1;
}
+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;
+
+ t = nft_table_builtin_find(h, table);
+ if (!t)
+ return NULL;
+
+ list = h->cache->table[t->type].chains;
+ return list ? nftnl_chain_list_lookup_byname(list, chain) : NULL;
+}
+
int nft_cache_add_chain(struct nft_handle *h, const struct builtin_table *t,
struct nftnl_chain *c)
{
diff --git a/iptables/nft-cache.h b/iptables/nft-cache.h
index 52ad2d39..085594c2 100644
--- a/iptables/nft-cache.h
+++ b/iptables/nft-cache.h
@@ -16,6 +16,9 @@ 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 *
+nft_chain_find(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 afe7fe9e..9b40b3c3 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -738,9 +738,6 @@ nft_chain_builtin_find(const struct builtin_table *t, const char *chain)
return found ? &t->chains[i] : NULL;
}
-static struct nftnl_chain *
-nft_chain_find(struct nft_handle *h, const char *table, const char *chain);
-
static void nft_chain_builtin_init(struct nft_handle *h,
const struct builtin_table *table)
{
@@ -1837,20 +1834,6 @@ out:
return ret == 0 ? 1 : 0;
}
-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;
-
- t = nft_table_builtin_find(h, table);
- if (!t)
- return NULL;
-
- 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,
const char *table, const char *chain)
{