ipv4: Fetch route saddr from flow key in ip4_datagram_connect().
authorDavid S. Miller <davem@davemloft.net>
Fri, 29 Apr 2011 06:17:16 +0000 (23:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Apr 2011 06:17:16 +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/datagram.c

index 216ba23..b7f583c 100644 (file)
@@ -63,9 +63,9 @@ int ip4_datagram_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
                return -EACCES;
        }
        if (!inet->inet_saddr)
-               inet->inet_saddr = rt->rt_src;  /* Update source address */
+               inet->inet_saddr = fl4.saddr;   /* Update source address */
        if (!inet->inet_rcv_saddr) {
-               inet->inet_rcv_saddr = rt->rt_src;
+               inet->inet_rcv_saddr = fl4.saddr;
                if (sk->sk_prot->rehash)
                        sk->sk_prot->rehash(sk);
        }