ipv4: Use flowi4_init_output() in ip_send_reply()
authorDavid S. Miller <davem@davemloft.net>
Thu, 31 Mar 2011 11:53:37 +0000 (04:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 31 Mar 2011 11:53:37 +0000 (04:53 -0700)
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_output.c

index 67f241b9764923815c11aecffc543001c3d3823b..86a284308271f985099586619903f05a27f2d782 100644 (file)
@@ -1474,16 +1474,14 @@ void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *ar
        }
 
        {
-               struct flowi4 fl4 = {
-                       .flowi4_oif = arg->bound_dev_if,
-                       .daddr = daddr,
-                       .saddr = rt->rt_spec_dst,
-                       .flowi4_tos = RT_TOS(ip_hdr(skb)->tos),
-                       .fl4_sport = tcp_hdr(skb)->dest,
-                       .fl4_dport = tcp_hdr(skb)->source,
-                       .flowi4_proto = sk->sk_protocol,
-                       .flowi4_flags = ip_reply_arg_flowi_flags(arg),
-               };
+               struct flowi4 fl4;
+
+               flowi4_init_output(&fl4, arg->bound_dev_if, 0,
+                                  RT_TOS(ip_hdr(skb)->tos),
+                                  RT_SCOPE_UNIVERSE, sk->sk_protocol,
+                                  ip_reply_arg_flowi_flags(arg),
+                                  daddr, rt->rt_spec_dst,
+                                  tcp_hdr(skb)->source, tcp_hdr(skb)->dest);
                security_skb_classify_flow(skb, flowi4_to_flowi(&fl4));
                rt = ip_route_output_key(sock_net(sk), &fl4);
                if (IS_ERR(rt))