Patchwork [3/10] ipv4: Fetch route saddr from flow key in ip4_datagram_connect().

login
register
mail settings
Submitter David Miller
Date April 29, 2011, 5:27 p.m.
Message ID <20110429.102705.189715248.davem@davemloft.net>
Download mbox | patch
Permalink /patch/93460/
State Accepted
Delegated to: David Miller
Headers show

Comments

David Miller - April 29, 2011, 5:27 p.m.
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 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/net/ipv4/datagram.c b/net/ipv4/datagram.c
index 216ba23..b7f583c 100644
--- a/net/ipv4/datagram.c
+++ b/net/ipv4/datagram.c
@@ -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);
 	}