diff options
author | Willem de Bruijn <willemb@google.com> | 2014-08-05 04:11:45 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-08-06 01:35:53 +0200 |
commit | f24b9be5957b38bb420b838115040dc2031b7d0c (patch) | |
tree | 9fdb50bbe86f08ff9c012137fa854d45e156b8f9 /net/core | |
parent | cxgb4i : Move stray CPL definitions to cxgb4 driver (diff) | |
download | linux-f24b9be5957b38bb420b838115040dc2031b7d0c.tar.xz linux-f24b9be5957b38bb420b838115040dc2031b7d0c.zip |
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>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/skbuff.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index c1a33033cbe2..c9f68802e992 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -3521,6 +3521,7 @@ void skb_tstamp_tx(struct sk_buff *orig_skb, memset(serr, 0, sizeof(*serr)); serr->ee.ee_errno = ENOMSG; serr->ee.ee_origin = SO_EE_ORIGIN_TIMESTAMPING; + serr->ee.ee_info = SCM_TSTAMP_SND; err = sock_queue_err_skb(sk, skb); |