diff options
Diffstat (limited to 'net/ipv6/raw.c')
-rw-r--r-- | net/ipv6/raw.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index d02f7e4dd611..5bddea778840 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c | |||
@@ -856,6 +856,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
856 | 856 | ||
857 | if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) | 857 | if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) |
858 | fl6.flowi6_oif = np->mcast_oif; | 858 | fl6.flowi6_oif = np->mcast_oif; |
859 | else if (!fl6.flowi6_oif) | ||
860 | fl6.flowi6_oif = np->ucast_oif; | ||
859 | security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); | 861 | security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); |
860 | 862 | ||
861 | dst = ip6_dst_lookup_flow(sk, &fl6, final_p, true); | 863 | dst = ip6_dst_lookup_flow(sk, &fl6, final_p, true); |