Commit 3073e5ab authored by David S. Miller's avatar David S. Miller

netfilter: Use flowi4 in nf_nat_standalone.c

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent da91981b
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#ifdef CONFIG_XFRM #ifdef CONFIG_XFRM
static void nat_decode_session(struct sk_buff *skb, struct flowi *fl) static void nat_decode_session(struct sk_buff *skb, struct flowi *fl)
{ {
struct flowi4 *fl4 = &fl->u.ip4;
const struct nf_conn *ct; const struct nf_conn *ct;
const struct nf_conntrack_tuple *t; const struct nf_conntrack_tuple *t;
enum ip_conntrack_info ctinfo; enum ip_conntrack_info ctinfo;
...@@ -49,25 +50,25 @@ static void nat_decode_session(struct sk_buff *skb, struct flowi *fl) ...@@ -49,25 +50,25 @@ static void nat_decode_session(struct sk_buff *skb, struct flowi *fl)
statusbit = IPS_SRC_NAT; statusbit = IPS_SRC_NAT;
if (ct->status & statusbit) { if (ct->status & statusbit) {
fl->fl4_dst = t->dst.u3.ip; fl4->daddr = t->dst.u3.ip;
if (t->dst.protonum == IPPROTO_TCP || if (t->dst.protonum == IPPROTO_TCP ||
t->dst.protonum == IPPROTO_UDP || t->dst.protonum == IPPROTO_UDP ||
t->dst.protonum == IPPROTO_UDPLITE || t->dst.protonum == IPPROTO_UDPLITE ||
t->dst.protonum == IPPROTO_DCCP || t->dst.protonum == IPPROTO_DCCP ||
t->dst.protonum == IPPROTO_SCTP) t->dst.protonum == IPPROTO_SCTP)
fl->fl4_dport = t->dst.u.tcp.port; fl4->uli.ports.dport = t->dst.u.tcp.port;
} }
statusbit ^= IPS_NAT_MASK; statusbit ^= IPS_NAT_MASK;
if (ct->status & statusbit) { if (ct->status & statusbit) {
fl->fl4_src = t->src.u3.ip; fl4->saddr = t->src.u3.ip;
if (t->dst.protonum == IPPROTO_TCP || if (t->dst.protonum == IPPROTO_TCP ||
t->dst.protonum == IPPROTO_UDP || t->dst.protonum == IPPROTO_UDP ||
t->dst.protonum == IPPROTO_UDPLITE || t->dst.protonum == IPPROTO_UDPLITE ||
t->dst.protonum == IPPROTO_DCCP || t->dst.protonum == IPPROTO_DCCP ||
t->dst.protonum == IPPROTO_SCTP) t->dst.protonum == IPPROTO_SCTP)
fl->fl4_sport = t->src.u.tcp.port; fl4->uli.ports.sport = t->src.u.tcp.port;
} }
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment