|
@@ -445,6 +445,8 @@ static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
|
|
|
|
|
|
if (__ipv6_addr_needs_scope_id(addr_type))
|
|
|
iif = skb->dev->ifindex;
|
|
|
+ else
|
|
|
+ iif = l3mdev_master_ifindex(skb->dev);
|
|
|
|
|
|
/*
|
|
|
* Must not send error if the source does not uniquely
|
|
@@ -499,9 +501,6 @@ static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
|
|
|
else if (!fl6.flowi6_oif)
|
|
|
fl6.flowi6_oif = np->ucast_oif;
|
|
|
|
|
|
- if (!fl6.flowi6_oif)
|
|
|
- fl6.flowi6_oif = l3mdev_master_ifindex(skb->dev);
|
|
|
-
|
|
|
dst = icmpv6_route_lookup(net, skb, sk, &fl6);
|
|
|
if (IS_ERR(dst))
|
|
|
goto out;
|