lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 02 Mar 2007 01:56:41 +0100
From:	Eric Dumazet <dada1@...mosbay.com>
To:	Stephen Hemminger <shemminger@...ux-foundation.org>
CC:	John find <linux.kernel@...e.fr>, linux-net@...r.kernel.org,
	netdev@...r.kernel.org
Subject: Re: CLOCK_MONOTONIC datagram timestamps by the kernel

Stephen Hemminger a écrit :
> Another value since if someone turns on SO_TIMESTAMP they want usec (timeval)
> and SO_TIMESTAMPNS would be for nanosecond values. Trying to set both
> flags would be not allowed.
> 
> - original -
> 
>      If the SO_TIMESTAMP option is enabled on a SOCK_DGRAM socket, the
>      recvmsg(2) call will return a timestamp corresponding to when the data-
>      gram was received.  The msg_control field in the msghdr structure points
>      to a buffer that contains a cmsghdr structure followed by a struct
>      timeval.  The cmsghdr fields have the following values:
> 
>      cmsg_len = sizeof(struct timeval)
>      cmsg_level = SOL_SOCKET
>      cmsg_type = SCM_TIMESTAMP
> 
> - add -
>      If the SO_TIMESTAMPNS option is enabled on a SOCK_DGRAM socket,
> ...
>      cmsg_len = sizeof(struct timespec)
>      cmsg_level = SOL_SOCKET
>      cmsg_type = SCM_TIMESTAMPNS

I got it now, thank you :)

Here is the second version of the patch.

[NET] : introduce nanosecond time infrastructure for packet timestamping

It appears some machines are *really* fast and that micro second resolution is
a limiting factor.

This patch converts sk_buff timestamp to use new nanosecond infra (added in
2.6.21), and introduces a new ioctl SIOCGSTAMPNS to let applications access
nanosecond resolution (ie a timespec instead of timeval)

SO_TIMESTAMPNS is also introduced so that a recvmsg() on SOCK_DGRAM socket may 
  transfer a struct timespec (cmsg_type = SCM_TIMESTAMPNS). SO_TIMESTAMP and 
SO_TIMESTAMPNS are mutually exclusive.


Signed-off-by: Eric Dumazet <dada1@...mosbay.com>

  fs/compat_ioctl.c                       |   17 +++++++++
  include/asm-alpha/socket.h              |    2 +
  include/asm-alpha/sockios.h             |    1
  include/asm-arm/socket.h                |    2 +
  include/asm-arm26/socket.h              |    2 +
  include/asm-arm26/sockios.h             |    3 +
  include/asm-avr32/socket.h              |    2 +
  include/asm-avr32/sockios.h             |    3 +
  include/asm-cris/sockios.h              |    3 +
  include/asm-frv/socket.h                |    2 +
  include/asm-frv/sockios.h               |    3 +
  include/asm-h8300/socket.h              |    2 +
  include/asm-h8300/sockios.h             |    3 +
  include/asm-i386/socket.h               |    2 +
  include/asm-i386/sockios.h              |    3 +
  include/asm-ia64/socket.h               |    2 +
  include/asm-ia64/sockios.h              |    3 +
  include/asm-m32r/socket.h               |    2 +
  include/asm-m32r/sockios.h              |    3 +
  include/asm-m68k/socket.h               |    2 +
  include/asm-m68k/sockios.h              |    3 +
  include/asm-mips/socket.h               |    2 +
  include/asm-mips/sockios.h              |    3 +
  include/asm-parisc/socket.h             |    2 +
  include/asm-parisc/sockios.h            |    3 +
  include/asm-powerpc/socket.h            |    2 +
  include/asm-powerpc/sockios.h           |    3 +
  include/asm-s390/socket.h               |    2 -
  include/asm-s390/sockios.h              |    3 +
  include/asm-sh/socket.h                 |    2 -
  include/asm-sh/sockios.h                |    1
  include/asm-sh64/sockios.h              |    1
  include/asm-sparc/socket.h              |    2 +
  include/asm-sparc/sockios.h             |    3 +
  include/asm-sparc64/socket.h            |    2 +
  include/asm-sparc64/sockios.h           |    3 +
  include/asm-v850/socket.h               |    2 +
  include/asm-v850/sockios.h              |    3 +
  include/asm-x86_64/socket.h             |    2 +
  include/asm-x86_64/sockios.h            |    3 +
  include/asm-xtensa/socket.h             |    2 +
  include/asm-xtensa/sockios.h            |    3 +
  include/linux/skbuff.h                  |   38 ++++++++++++++++------
  include/net/compat.h                    |    1
  include/net/sock.h                      |   31 ++++++++++++-----
  net/appletalk/ddp.c                     |    3 +
  net/atm/ioctl.c                         |    3 +
  net/ax25/af_ax25.c                      |    4 ++
  net/bridge/netfilter/ebt_ulog.c         |    7 ++--
  net/compat.c                            |   33 +++++++++++++++++--
  net/core/dev.c                          |    8 ++--
  net/core/sock.c                         |   36 +++++++++++++++++++-
  net/econet/af_econet.c                  |    5 ++
  net/ipv4/af_inet.c                      |    3 +
  net/ipv4/ip_fragment.c                  |    6 +--
  net/ipv4/netfilter/ip_queue.c           |    2 -
  net/ipv4/netfilter/ipt_ULOG.c           |    2 -
  net/ipv6/af_inet6.c                     |    3 +
  net/ipv6/netfilter/ip6_queue.c          |    2 -
  net/ipv6/netfilter/nf_conntrack_reasm.c |    6 +--
  net/ipv6/reassembly.c                   |    6 +--
  net/ipx/af_ipx.c                        |    2 -
  net/netfilter/nfnetlink_log.c           |    2 -
  net/netfilter/nfnetlink_queue.c         |    2 -
  net/netrom/af_netrom.c                  |    5 ++
  net/packet/af_packet.c                  |    4 +-
  net/rose/af_rose.c                      |    2 +
  net/sunrpc/svcsock.c                    |    9 ++---
  net/wanrouter/af_wanpipe.c              |    3 +
  net/x25/af_x25.c                        |   12 ++++++
  70 files changed, 280 insertions(+), 74 deletions(-)


View attachment "net_nanosec_stamp.patch" of type "text/plain" (42389 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ