diff options
Diffstat (limited to 'net/ipv6/route.c')
| -rw-r--r-- | net/ipv6/route.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index f204089e854c..cb32ce250db0 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1193,7 +1193,8 @@ struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,  	fl6->flowi6_iif = LOOPBACK_IFINDEX; -	if ((sk && sk->sk_bound_dev_if) || rt6_need_strict(&fl6->daddr)) +	if ((sk && sk->sk_bound_dev_if) || rt6_need_strict(&fl6->daddr) || +	    fl6->flowi6_oif)  		flags |= RT6_LOOKUP_F_IFACE;  	if (!ipv6_addr_any(&fl6->saddr))  | 
