Merge branch 'cmsg_timestamp'
authorDavid S. Miller <davem@davemloft.net>
Mon, 4 Apr 2016 19:50:31 +0000 (15:50 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Apr 2016 19:50:31 +0000 (15:50 -0400)
commit9d2355ba30942ec28fb56510a8228050cbfcc6a6
tree389af6ce3edd29017764f8f325c92c8e9cdb7569
parent833716e0ed026c1abc7dd0e85a6932b855a8e56b
parentfd91e12f594b40fdb2dad530e8b895cc5c07db21
Merge branch 'cmsg_timestamp'

Soheil Hassas Yeganeh says:

====================
add TX timestamping via cmsg

This patch series aim at enabling TX timestamping via cmsg.

Currently, to occasionally sample TX timestamping on a socket,
applications need to call setsockopt twice: first for enabling
timestamps and then for disabling them. This is an unnecessary
overhead. With cmsg, in contrast, applications can sample TX
timestamps per sendmsg().

This patch series adds the code for processing SO_TIMESTAMPING
for cmsg's of the SOL_SOCKET level, and adds the glue code for
TCP, UDP, and RAW for both IPv4 and IPv6. This implementation
supports overriding timestamp generation flags (i.e.,
SOF_TIMESTAMPING_TX_*) but not timestamp reporting flags.
Applications must still enable timestamp reporting via
setsockopt to receive timestamps.

This series does not change existing timestamping behavior for
applications that are using socket options.

I will follow up with another patch to enable timestamping for
active TFO (client-side TCP Fast Open) and also setting packet
mark via cmsgs.

Thanks!

Changes in v2:
        - Replace u32 with __u32 in the documentation.

Changes in v3:
- Fix the broken build for L2TP (due to changes
  in IPv6).
====================

Signed-off-by: David S. Miller <davem@davemloft.net>