diff options
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 362e66f7d2f..3aa4c31e544 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -333,6 +333,7 @@ int ip_queue_xmit(struct sk_buff *skb) | |||
333 | /* Make sure we can route this packet. */ | 333 | /* Make sure we can route this packet. */ |
334 | rt = (struct rtable *)__sk_dst_check(sk, 0); | 334 | rt = (struct rtable *)__sk_dst_check(sk, 0); |
335 | if (rt == NULL) { | 335 | if (rt == NULL) { |
336 | struct flowi4 fl4; | ||
336 | __be32 daddr; | 337 | __be32 daddr; |
337 | 338 | ||
338 | /* Use correct destination address if we have options. */ | 339 | /* Use correct destination address if we have options. */ |
@@ -344,7 +345,7 @@ int ip_queue_xmit(struct sk_buff *skb) | |||
344 | * keep trying until route appears or the connection times | 345 | * keep trying until route appears or the connection times |
345 | * itself out. | 346 | * itself out. |
346 | */ | 347 | */ |
347 | rt = ip_route_output_ports(sock_net(sk), sk, | 348 | rt = ip_route_output_ports(sock_net(sk), &fl4, sk, |
348 | daddr, inet->inet_saddr, | 349 | daddr, inet->inet_saddr, |
349 | inet->inet_dport, | 350 | inet->inet_dport, |
350 | inet->inet_sport, | 351 | inet->inet_sport, |