diff options
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/netfilter/nft_masq_ipv6.c | 7 | ||||
-rw-r--r-- | net/ipv6/netfilter/nft_redir_ipv6.c | 11 | ||||
-rw-r--r-- | net/ipv6/netfilter/nft_reject_ipv6.c | 4 |
3 files changed, 9 insertions, 13 deletions
diff --git a/net/ipv6/netfilter/nft_masq_ipv6.c b/net/ipv6/netfilter/nft_masq_ipv6.c index 529c119cbb14..cd1ac1637a05 100644 --- a/net/ipv6/netfilter/nft_masq_ipv6.c +++ b/net/ipv6/netfilter/nft_masq_ipv6.c | |||
@@ -18,19 +18,16 @@ | |||
18 | #include <net/netfilter/ipv6/nf_nat_masquerade.h> | 18 | #include <net/netfilter/ipv6/nf_nat_masquerade.h> |
19 | 19 | ||
20 | static void nft_masq_ipv6_eval(const struct nft_expr *expr, | 20 | static void nft_masq_ipv6_eval(const struct nft_expr *expr, |
21 | struct nft_data data[NFT_REG_MAX + 1], | 21 | struct nft_regs *regs, |
22 | const struct nft_pktinfo *pkt) | 22 | const struct nft_pktinfo *pkt) |
23 | { | 23 | { |
24 | struct nft_masq *priv = nft_expr_priv(expr); | 24 | struct nft_masq *priv = nft_expr_priv(expr); |
25 | struct nf_nat_range range; | 25 | struct nf_nat_range range; |
26 | unsigned int verdict; | ||
27 | 26 | ||
28 | memset(&range, 0, sizeof(range)); | 27 | memset(&range, 0, sizeof(range)); |
29 | range.flags = priv->flags; | 28 | range.flags = priv->flags; |
30 | 29 | ||
31 | verdict = nf_nat_masquerade_ipv6(pkt->skb, &range, pkt->out); | 30 | regs->verdict.code = nf_nat_masquerade_ipv6(pkt->skb, &range, pkt->out); |
32 | |||
33 | data[NFT_REG_VERDICT].verdict = verdict; | ||
34 | } | 31 | } |
35 | 32 | ||
36 | static struct nft_expr_type nft_masq_ipv6_type; | 33 | static struct nft_expr_type nft_masq_ipv6_type; |
diff --git a/net/ipv6/netfilter/nft_redir_ipv6.c b/net/ipv6/netfilter/nft_redir_ipv6.c index 11820b6b3613..effd393bd517 100644 --- a/net/ipv6/netfilter/nft_redir_ipv6.c +++ b/net/ipv6/netfilter/nft_redir_ipv6.c | |||
@@ -18,26 +18,25 @@ | |||
18 | #include <net/netfilter/nf_nat_redirect.h> | 18 | #include <net/netfilter/nf_nat_redirect.h> |
19 | 19 | ||
20 | static void nft_redir_ipv6_eval(const struct nft_expr *expr, | 20 | static void nft_redir_ipv6_eval(const struct nft_expr *expr, |
21 | struct nft_data data[NFT_REG_MAX + 1], | 21 | struct nft_regs *regs, |
22 | const struct nft_pktinfo *pkt) | 22 | const struct nft_pktinfo *pkt) |
23 | { | 23 | { |
24 | struct nft_redir *priv = nft_expr_priv(expr); | 24 | struct nft_redir *priv = nft_expr_priv(expr); |
25 | struct nf_nat_range range; | 25 | struct nf_nat_range range; |
26 | unsigned int verdict; | ||
27 | 26 | ||
28 | memset(&range, 0, sizeof(range)); | 27 | memset(&range, 0, sizeof(range)); |
29 | if (priv->sreg_proto_min) { | 28 | if (priv->sreg_proto_min) { |
30 | range.min_proto.all = | 29 | range.min_proto.all = |
31 | *(__be16 *)&data[priv->sreg_proto_min].data[0]; | 30 | *(__be16 *)®s->data[priv->sreg_proto_min], |
32 | range.max_proto.all = | 31 | range.max_proto.all = |
33 | *(__be16 *)&data[priv->sreg_proto_max].data[0]; | 32 | *(__be16 *)®s->data[priv->sreg_proto_max], |
34 | range.flags |= NF_NAT_RANGE_PROTO_SPECIFIED; | 33 | range.flags |= NF_NAT_RANGE_PROTO_SPECIFIED; |
35 | } | 34 | } |
36 | 35 | ||
37 | range.flags |= priv->flags; | 36 | range.flags |= priv->flags; |
38 | 37 | ||
39 | verdict = nf_nat_redirect_ipv6(pkt->skb, &range, pkt->ops->hooknum); | 38 | regs->verdict.code = nf_nat_redirect_ipv6(pkt->skb, &range, |
40 | data[NFT_REG_VERDICT].verdict = verdict; | 39 | pkt->ops->hooknum); |
41 | } | 40 | } |
42 | 41 | ||
43 | static struct nft_expr_type nft_redir_ipv6_type; | 42 | static struct nft_expr_type nft_redir_ipv6_type; |
diff --git a/net/ipv6/netfilter/nft_reject_ipv6.c b/net/ipv6/netfilter/nft_reject_ipv6.c index 71c7be5ee43a..d0d1540ecf87 100644 --- a/net/ipv6/netfilter/nft_reject_ipv6.c +++ b/net/ipv6/netfilter/nft_reject_ipv6.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <net/netfilter/ipv6/nf_reject.h> | 20 | #include <net/netfilter/ipv6/nf_reject.h> |
21 | 21 | ||
22 | static void nft_reject_ipv6_eval(const struct nft_expr *expr, | 22 | static void nft_reject_ipv6_eval(const struct nft_expr *expr, |
23 | struct nft_data data[NFT_REG_MAX + 1], | 23 | struct nft_regs *regs, |
24 | const struct nft_pktinfo *pkt) | 24 | const struct nft_pktinfo *pkt) |
25 | { | 25 | { |
26 | struct nft_reject *priv = nft_expr_priv(expr); | 26 | struct nft_reject *priv = nft_expr_priv(expr); |
@@ -38,7 +38,7 @@ static void nft_reject_ipv6_eval(const struct nft_expr *expr, | |||
38 | break; | 38 | break; |
39 | } | 39 | } |
40 | 40 | ||
41 | data[NFT_REG_VERDICT].verdict = NF_DROP; | 41 | regs->verdict.code = NF_DROP; |
42 | } | 42 | } |
43 | 43 | ||
44 | static struct nft_expr_type nft_reject_ipv6_type; | 44 | static struct nft_expr_type nft_reject_ipv6_type; |