summaryrefslogtreecommitdiffstats
path: root/iptables
diff options
context:
space:
mode:
Diffstat (limited to 'iptables')
-rw-r--r--iptables/nft-ipv4.c9
-rw-r--r--iptables/nft-ipv6.c9
-rw-r--r--iptables/nft-shared.c7
-rw-r--r--iptables/nft-shared.h1
4 files changed, 10 insertions, 16 deletions
diff --git a/iptables/nft-ipv4.c b/iptables/nft-ipv4.c
index 9db82817..2afb1453 100644
--- a/iptables/nft-ipv4.c
+++ b/iptables/nft-ipv4.c
@@ -414,13 +414,6 @@ static void nft_ipv4_post_parse(int command,
" source or destination IP addresses");
}
-static void nft_ipv4_parse_target(struct xtables_target *t, void *data)
-{
- struct iptables_command_state *cs = data;
-
- cs->target = t;
-}
-
static bool nft_ipv4_rule_find(struct nft_family_ops *ops,
struct nftnl_rule *r, void *data)
{
@@ -510,7 +503,7 @@ struct nft_family_ops nft_family_ops_ipv4 = {
.save_counters = nft_ipv4_save_counters,
.proto_parse = nft_ipv4_proto_parse,
.post_parse = nft_ipv4_post_parse,
- .parse_target = nft_ipv4_parse_target,
+ .parse_target = nft_ipv46_parse_target,
.rule_to_cs = nft_rule_to_iptables_command_state,
.clear_cs = nft_clear_iptables_command_state,
.rule_find = nft_ipv4_rule_find,
diff --git a/iptables/nft-ipv6.c b/iptables/nft-ipv6.c
index 018f1d3f..ddaeb2b4 100644
--- a/iptables/nft-ipv6.c
+++ b/iptables/nft-ipv6.c
@@ -367,13 +367,6 @@ static void nft_ipv6_post_parse(int command, struct iptables_command_state *cs,
" source or destination IP addresses");
}
-static void nft_ipv6_parse_target(struct xtables_target *t, void *data)
-{
- struct iptables_command_state *cs = data;
-
- cs->target = t;
-}
-
static bool nft_ipv6_rule_find(struct nft_family_ops *ops,
struct nftnl_rule *r, void *data)
{
@@ -465,7 +458,7 @@ struct nft_family_ops nft_family_ops_ipv6 = {
.save_counters = nft_ipv6_save_counters,
.proto_parse = nft_ipv6_proto_parse,
.post_parse = nft_ipv6_post_parse,
- .parse_target = nft_ipv6_parse_target,
+ .parse_target = nft_ipv46_parse_target,
.rule_to_cs = nft_rule_to_iptables_command_state,
.clear_cs = nft_clear_iptables_command_state,
.rule_find = nft_ipv6_rule_find,
diff --git a/iptables/nft-shared.c b/iptables/nft-shared.c
index 24287e97..7abe158b 100644
--- a/iptables/nft-shared.c
+++ b/iptables/nft-shared.c
@@ -924,6 +924,13 @@ bool compare_targets(struct xtables_target *tg1, struct xtables_target *tg2)
return true;
}
+void nft_ipv46_parse_target(struct xtables_target *t, void *data)
+{
+ struct iptables_command_state *cs = data;
+
+ cs->target = t;
+}
+
bool nft_ipv46_rule_find(struct nft_family_ops *ops,
struct nftnl_rule *r, struct iptables_command_state *cs)
{
diff --git a/iptables/nft-shared.h b/iptables/nft-shared.h
index 8172c873..deded06b 100644
--- a/iptables/nft-shared.h
+++ b/iptables/nft-shared.h
@@ -174,6 +174,7 @@ void save_matches_and_target(struct xtables_rule_match *m,
struct nft_family_ops *nft_family_ops_lookup(int family);
struct nft_handle;
+void nft_ipv46_parse_target(struct xtables_target *t, void *data);
bool nft_ipv46_rule_find(struct nft_family_ops *ops, struct nftnl_rule *r,
struct iptables_command_state *cs);