diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 3e6b53b981a081870077db8b7324d3ca08d8015d..ab71b41e139442691ac14df5a6183c0b35a2d2d3 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -928,6 +928,8 @@ struct dst_entry * ip6_route_output(struct net *net, const struct sock *sk, { int flags = 0; + fl6->flowi6_iif = net->loopback_dev->ifindex; + if ((sk && sk->sk_bound_dev_if) || rt6_need_strict(&fl6->daddr)) flags |= RT6_LOOKUP_F_IFACE;