1
0
Fork 0
alistair23-linux/net/can
Soheil Hassas Yeganeh c14ac9451c sock: enable timestamping using control messages
Currently, SOL_TIMESTAMPING can only be enabled using setsockopt.
This is very costly when users want to sample writes to gather
tx timestamps.

Add support for enabling SO_TIMESTAMPING via control messages by
using tsflags added in `struct sockcm_cookie` (added in the previous
patches in this series) to set the tx_flags of the last skb created in
a sendmsg. With this patch, the timestamp recording bits in tx_flags
of the skbuff is overridden if SO_TIMESTAMPING is passed in a cmsg.

Please note that this is only effective for overriding the recording
timestamps flags. Users should enable timestamp reporting (e.g.,
SOF_TIMESTAMPING_SOFTWARE | SOF_TIMESTAMPING_OPT_ID) using
socket options and then should ask for SOF_TIMESTAMPING_TX_*
using control messages per sendmsg to sample timestamps for each
write.

Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-04-04 15:50:30 -04:00
..
Kconfig can: Kconfig: switch on all CAN protocolls by default 2013-01-26 16:58:58 +01:00
Makefile can-gw: add netlink based CAN routing 2011-09-16 17:37:51 -04:00
af_can.c can: replace timestamp as unique skb attribute 2015-07-12 21:13:22 +02:00
af_can.h can: add hash based access to single EFF frame filters 2014-05-19 09:38:24 +02:00
bcm.c can: avoid using timeval for uapi 2015-10-13 17:42:34 +02:00
gw.c can: cangw: introduce optional uid to reference created routing jobs 2015-06-09 09:39:49 +02:00
proc.c can: add hash based access to single EFF frame filters 2014-05-19 09:38:24 +02:00
raw.c sock: enable timestamping using control messages 2016-04-04 15:50:30 -04:00