]> git.baikalelectronics.ru Git - kernel.git/commit
net: allow simultaneous SW and HW transmit timestamping
authorMiroslav Lichvar <mlichvar@redhat.com>
Fri, 19 May 2017 15:52:40 +0000 (17:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 21 May 2017 17:37:32 +0000 (13:37 -0400)
commit7022eeb65b5ca3b4354d750893fcc0b5345fc7e9
tree02554df34f5ee85dd91f228e45b8d17a066b1e48
parent73ffc1937c52bbef5d11b4226a27109fb1da4f0d
net: allow simultaneous SW and HW transmit timestamping

Add SOF_TIMESTAMPING_OPT_TX_SWHW option to allow an outgoing packet to
be looped to the socket's error queue with a software timestamp even
when a hardware transmit timestamp is expected to be provided by the
driver.

Applications using this option will receive two separate messages from
the error queue, one with a software timestamp and the other with a
hardware timestamp. As the hardware timestamp is saved to the shared skb
info, which may happen before the first message with software timestamp
is received by the application, the hardware timestamp is copied to the
SCM_TIMESTAMPING control message only when the skb has no software
timestamp or it is an incoming packet.

While changing sw_tx_timestamp(), inline it in skb_tx_timestamp() as
there are no other users.

CC: Richard Cochran <richardcochran@gmail.com>
CC: Willem de Bruijn <willemb@google.com>
Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/timestamping.txt
include/linux/skbuff.h
include/uapi/linux/net_tstamp.h
net/core/skbuff.c
net/socket.c