sock: enable timestamping using control messages
[cascardo/linux.git] / net / ipv6 / udp.c
index 2a787af..b772a76 100644 (file)
@@ -1248,7 +1248,7 @@ do_udp_sendmsg:
                fl6.flowi6_oif = np->sticky_pktinfo.ipi6_ifindex;
 
        fl6.flowi6_mark = sk->sk_mark;
-       sockc.tsflags = 0;
+       sockc.tsflags = sk->sk_tsflags;
 
        if (msg->msg_controllen) {
                opt = &opt_space;
@@ -1324,7 +1324,7 @@ back_from_confirm:
                skb = ip6_make_skb(sk, getfrag, msg, ulen,
                                   sizeof(struct udphdr), hlimit, tclass, opt,
                                   &fl6, (struct rt6_info *)dst,
-                                  msg->msg_flags, dontfrag);
+                                  msg->msg_flags, dontfrag, &sockc);
                err = PTR_ERR(skb);
                if (!IS_ERR_OR_NULL(skb))
                        err = udp_v6_send_skb(skb, &fl6);
@@ -1351,7 +1351,8 @@ do_append_data:
        err = ip6_append_data(sk, getfrag, msg, ulen,
                sizeof(struct udphdr), hlimit, tclass, opt, &fl6,
                (struct rt6_info *)dst,
-               corkreq ? msg->msg_flags|MSG_MORE : msg->msg_flags, dontfrag);
+               corkreq ? msg->msg_flags|MSG_MORE : msg->msg_flags, dontfrag,
+               &sockc);
        if (err)
                udp_v6_flush_pending_frames(sk);
        else if (!corkreq)