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

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

index 3be00af..f3d16d8 100644 (file)
@@ -190,7 +190,7 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
        }
 
        if (!inet_opt || !inet_opt->opt.srr)
-               daddr = rt->rt_dst;
+               daddr = fl4.daddr;
 
        if (!inet->inet_saddr)
                inet->inet_saddr = fl4.saddr;
@@ -204,7 +204,7 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
        }
 
        if (tcp_death_row.sysctl_tw_recycle &&
-           !tp->rx_opt.ts_recent_stamp && rt->rt_dst == daddr) {
+           !tp->rx_opt.ts_recent_stamp && fl4.daddr == daddr) {
                struct inet_peer *peer = rt_get_peer(rt);
                /*
                 * VJ's idea. We save last timestamp seen from