ipv4: Fetch route saddr from flow key in tcp_v4_connect().
authorDavid S. Miller <davem@davemloft.net>
Fri, 29 Apr 2011 06:17:31 +0000 (23:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Apr 2011 06:17:31 +0000 (23:17 -0700)
Now that output route lookups update the flow with
source address selection, we can fetch it from
fl4->saddr instead of rt->rt_src

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_ipv4.c

index d60732f..3be00af 100644 (file)
@@ -193,7 +193,7 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
                daddr = rt->rt_dst;
 
        if (!inet->inet_saddr)
-               inet->inet_saddr = rt->rt_src;
+               inet->inet_saddr = fl4.saddr;
        inet->inet_rcv_saddr = inet->inet_saddr;
 
        if (tp->rx_opt.ts_recent_stamp && inet->inet_daddr != daddr) {