diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-12 02:06:33 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-12 18:08:50 -0500 |
commit | 3073e5ab927487328d48cd74faac0f95a8336867 (patch) | |
tree | 4e4a01225679b32bdb5391c82f812748fa6ef615 /net/ipv4 | |
parent | da91981bee8de20bcd06ee0dbddd53d62d23b1bd (diff) |
netfilter: Use flowi4 in nf_nat_standalone.c
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/netfilter/nf_nat_standalone.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/ipv4/netfilter/nf_nat_standalone.c b/net/ipv4/netfilter/nf_nat_standalone.c index 1f3c695a47c8..963320b295e2 100644 --- a/net/ipv4/netfilter/nf_nat_standalone.c +++ b/net/ipv4/netfilter/nf_nat_standalone.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #ifdef CONFIG_XFRM | 31 | #ifdef CONFIG_XFRM |
32 | static void nat_decode_session(struct sk_buff *skb, struct flowi *fl) | 32 | static void nat_decode_session(struct sk_buff *skb, struct flowi *fl) |
33 | { | 33 | { |
34 | struct flowi4 *fl4 = &fl->u.ip4; | ||
34 | const struct nf_conn *ct; | 35 | const struct nf_conn *ct; |
35 | const struct nf_conntrack_tuple *t; | 36 | const struct nf_conntrack_tuple *t; |
36 | enum ip_conntrack_info ctinfo; | 37 | enum ip_conntrack_info ctinfo; |
@@ -49,25 +50,25 @@ static void nat_decode_session(struct sk_buff *skb, struct flowi *fl) | |||
49 | statusbit = IPS_SRC_NAT; | 50 | statusbit = IPS_SRC_NAT; |
50 | 51 | ||
51 | if (ct->status & statusbit) { | 52 | if (ct->status & statusbit) { |
52 | fl->fl4_dst = t->dst.u3.ip; | 53 | fl4->daddr = t->dst.u3.ip; |
53 | if (t->dst.protonum == IPPROTO_TCP || | 54 | if (t->dst.protonum == IPPROTO_TCP || |
54 | t->dst.protonum == IPPROTO_UDP || | 55 | t->dst.protonum == IPPROTO_UDP || |
55 | t->dst.protonum == IPPROTO_UDPLITE || | 56 | t->dst.protonum == IPPROTO_UDPLITE || |
56 | t->dst.protonum == IPPROTO_DCCP || | 57 | t->dst.protonum == IPPROTO_DCCP || |
57 | t->dst.protonum == IPPROTO_SCTP) | 58 | t->dst.protonum == IPPROTO_SCTP) |
58 | fl->fl4_dport = t->dst.u.tcp.port; | 59 | fl4->uli.ports.dport = t->dst.u.tcp.port; |
59 | } | 60 | } |
60 | 61 | ||
61 | statusbit ^= IPS_NAT_MASK; | 62 | statusbit ^= IPS_NAT_MASK; |
62 | 63 | ||
63 | if (ct->status & statusbit) { | 64 | if (ct->status & statusbit) { |
64 | fl->fl4_src = t->src.u3.ip; | 65 | fl4->saddr = t->src.u3.ip; |
65 | if (t->dst.protonum == IPPROTO_TCP || | 66 | if (t->dst.protonum == IPPROTO_TCP || |
66 | t->dst.protonum == IPPROTO_UDP || | 67 | t->dst.protonum == IPPROTO_UDP || |
67 | t->dst.protonum == IPPROTO_UDPLITE || | 68 | t->dst.protonum == IPPROTO_UDPLITE || |
68 | t->dst.protonum == IPPROTO_DCCP || | 69 | t->dst.protonum == IPPROTO_DCCP || |
69 | t->dst.protonum == IPPROTO_SCTP) | 70 | t->dst.protonum == IPPROTO_SCTP) |
70 | fl->fl4_sport = t->src.u.tcp.port; | 71 | fl4->uli.ports.sport = t->src.u.tcp.port; |
71 | } | 72 | } |
72 | } | 73 | } |
73 | #endif | 74 | #endif |