All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/13] tcp: add optional usec resolution to TCP TS
@ 2023-10-20 12:57 Eric Dumazet
  2023-10-20 12:57 ` [PATCH net-next 01/13] chtls: fix tp->rcv_tstamp initialization Eric Dumazet
                   ` (15 more replies)
  0 siblings, 16 replies; 19+ messages in thread
From: Eric Dumazet @ 2023-10-20 12:57 UTC (permalink / raw)
  To: David S . Miller, Jakub Kicinski, Paolo Abeni
  Cc: netdev, Neal Cardwell, Yuchung Cheng, Kevin Yang,
	Soheil Hassas Yeganeh, Wei Wang, Van Jacobson, Florian Westphal,
	eric.dumazet, Eric Dumazet

As discussed in various public places in 2016, Google adopted
usec resolution in RFC 7323 TS values, at Van Jacobson suggestion.

Goals were :

1) better observability of delays in networking stacks/fabrics.

2) better disambiguation of events based on TSval/ecr values.

3) building block for congestion control modules needing usec resolution.

Back then we implemented a schem based on private SYN options
to safely negotiate the feature.

For upstream submission, we chose to use a much simpler route
attribute because this feature is probably going to be used
in private networks.

ip route add 10/8 ... features tcp_usec_ts

References:

https://www.ietf.org/proceedings/97/slides/slides-97-tcpm-tcp-options-for-low-latency-00.pdf
https://datatracker.ietf.org/doc/draft-wang-tcpm-low-latency-opt/

First two patches are fixing old minor bugs and might be taken
by stable teams (thanks to appropriate Fixes: tags)

Eric Dumazet (13):
  chtls: fix tp->rcv_tstamp initialization
  tcp: fix cookie_init_timestamp() overflows
  tcp: add tcp_time_stamp_ms() helper
  tcp: introduce tcp_clock_ms()
  tcp: replace tcp_time_stamp_raw()
  tcp: rename tcp_skb_timestamp()
  tcp: move tcp_ns_to_ts() to net/ipv4/syncookies.c
  tcp: rename tcp_time_stamp() to tcp_time_stamp_ts()
  tcp: add tcp_rtt_tsopt_us()
  tcp: add RTAX_FEATURE_TCP_USEC_TS
  tcp: introduce TCP_PAWS_WRAP
  tcp: add support for usec resolution in TCP TS values
  tcp: add TCPI_OPT_USEC_TS

 .../chelsio/inline_crypto/chtls/chtls_cm.c    |  2 +-
 include/linux/tcp.h                           |  9 ++-
 include/net/inet_timewait_sock.h              |  3 +-
 include/net/tcp.h                             | 59 ++++++++++++++-----
 include/uapi/linux/rtnetlink.h                | 18 +++---
 include/uapi/linux/tcp.h                      |  1 +
 net/ipv4/syncookies.c                         | 32 ++++++----
 net/ipv4/tcp.c                                | 26 +++++---
 net/ipv4/tcp_input.c                          | 52 ++++++++--------
 net/ipv4/tcp_ipv4.c                           |  5 +-
 net/ipv4/tcp_lp.c                             |  2 +-
 net/ipv4/tcp_minisocks.c                      | 19 ++++--
 net/ipv4/tcp_output.c                         | 14 +++--
 net/ipv4/tcp_timer.c                          | 44 +++++++++-----
 net/ipv6/tcp_ipv6.c                           |  5 +-
 net/netfilter/nf_synproxy_core.c              |  2 +-
 .../selftests/bpf/progs/xdp_synproxy_kern.c   |  4 +-
 17 files changed, 193 insertions(+), 104 deletions(-)

-- 
2.42.0.655.g421f12c284-goog


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2023-10-23  8:50 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-20 12:57 [PATCH net-next 00/13] tcp: add optional usec resolution to TCP TS Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 01/13] chtls: fix tp->rcv_tstamp initialization Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 02/13] tcp: fix cookie_init_timestamp() overflows Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 03/13] tcp: add tcp_time_stamp_ms() helper Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 04/13] tcp: introduce tcp_clock_ms() Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 05/13] tcp: replace tcp_time_stamp_raw() Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 06/13] tcp: rename tcp_skb_timestamp() Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 07/13] tcp: move tcp_ns_to_ts() to net/ipv4/syncookies.c Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 08/13] tcp: rename tcp_time_stamp() to tcp_time_stamp_ts() Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 09/13] tcp: add tcp_rtt_tsopt_us() Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 10/13] tcp: add RTAX_FEATURE_TCP_USEC_TS Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 11/13] tcp: introduce TCP_PAWS_WRAP Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 12/13] tcp: add support for usec resolution in TCP TS values Eric Dumazet
2023-10-20 12:57 ` [PATCH net-next 13/13] tcp: add TCPI_OPT_USEC_TS Eric Dumazet
2023-10-20 16:10 ` [PATCH net-next 00/13] tcp: add optional usec resolution to TCP TS Yuchung Cheng
2023-10-20 16:19   ` Soheil Hassas Yeganeh
2023-10-20 16:29     ` Kevin Yang
2023-10-20 18:41 ` Neal Cardwell
2023-10-23  8:50 ` patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.