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

index e13c166824e00b5098741db2af10110d9c4a37d1..c100fa99cf8e21165b79ec9468afc2bd64227ae3 100644 (file)
@@ -340,9 +340,9 @@ static int l2tp_ip_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len
        l2tp_ip_sk(sk)->peer_conn_id = lsa->l2tp_conn_id;
 
        if (!inet->inet_saddr)
-               inet->inet_saddr = rt->rt_src;
+               inet->inet_saddr = fl4.saddr;
        if (!inet->inet_rcv_saddr)
-               inet->inet_rcv_saddr = rt->rt_src;
+               inet->inet_rcv_saddr = fl4.saddr;
        inet->inet_daddr = rt->rt_dst;
        sk->sk_state = TCP_ESTABLISHED;
        inet->inet_id = jiffies;