net-timestamp: extend SCM_TIMESTAMPING ancillary data struct
authorWillem de Bruijn <willemb@google.com>
Tue, 5 Aug 2014 02:11:45 +0000 (22:11 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Aug 2014 23:35:53 +0000 (16:35 -0700)
commitf24b9be5957b38bb420b838115040dc2031b7d0c
tree9fdb50bbe86f08ff9c012137fa854d45e156b8f9
parenta2b81b35f9e5ade210e4df2001f7a30ac390114d
net-timestamp: extend SCM_TIMESTAMPING ancillary data struct

Applications that request kernel tx timestamps with SO_TIMESTAMPING
read timestamps as recvmsg() ancillary data. The response is defined
implicitly as timespec[3].

1) define struct scm_timestamping explicitly and

2) add support for new tstamp types. On tx, scm_timestamping always
   accompanies a sock_extended_err. Define previously unused field
   ee_info to signal the type of ts[0]. Introduce SCM_TSTAMP_SND to
   define the existing behavior.

The reception path is not modified. On rx, no struct similar to
sock_extended_err is passed along with SCM_TIMESTAMPING.

Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
include/net/sock.h
include/uapi/linux/errqueue.h
net/core/skbuff.c
net/socket.c