X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=net%2Fipv6%2Fraw.c;fp=net%2Fipv6%2Fraw.c;h=1f992d9e261d8b75226659a4cead95f8dc04dc4f;hb=78556423b52e9862e34075eef693b655721cbe99;hp=6006b3281a2e2a77b828414e4b677bc981906b8f;hpb=111757e7b6de9839cb8a22424222db3e6e11beda;p=mirror_ubuntu-zesty-kernel.git diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index 6006b3281a2e..1f992d9e261d 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -656,6 +656,9 @@ static int rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length, skb->ip_summed = CHECKSUM_NONE; + if (flags & MSG_CONFIRM) + skb_set_dst_pending_confirm(skb, 1); + skb->transport_header = skb->network_header; err = memcpy_from_msg(iph, msg, length); if (err) @@ -936,7 +939,8 @@ out: txopt_put(opt_to_free); return err < 0 ? err : len; do_confirm: - dst_confirm(dst); + if (msg->msg_flags & MSG_PROBE) + dst_confirm_neigh(dst, &fl6.daddr); if (!(msg->msg_flags & MSG_PROBE) || len) goto back_from_confirm; err = 0;