diff options
author | Eric Dumazet <edumazet@google.com> | 2023-12-04 09:19:08 +0000 |
---|---|---|
committer | David Ahern <dsahern@kernel.org> | 2023-12-06 16:51:35 +0000 |
commit | 467879b418ff73d7afc60fab85c8cc766aca7553 (patch) | |
tree | 9bb7c657c04504eb4587b705bd9b144a6c1e4797 | |
parent | a043bea7500269c718ec105149fb828d608edd20 (diff) | |
download | iproute2-467879b418ff73d7afc60fab85c8cc766aca7553.tar.gz |
ss: add report of TCPI_OPT_USEC_TS
linux-6.7 supports usec resolution in TCP TS values.
ss -ie can show if a flow is using this new resolution.
$ ss -tie
...
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 12869632 [2002:a05:6608:295::]:37054 [2002:a05:6608:297::]:35721
ts usec_ts sack bbr2s wscale:12,12 ...
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
-rw-r--r-- | misc/ss.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -875,6 +875,7 @@ struct tcpstat { unsigned long long bytes_sent; unsigned long long bytes_retrans; bool has_ts_opt; + bool has_usec_ts_opt; bool has_sack_opt; bool has_ecn_opt; bool has_ecnseen_opt; @@ -2562,6 +2563,8 @@ static void tcp_stats_print(struct tcpstat *s) if (s->has_ts_opt) out(" ts"); + if (s->has_usec_ts_opt) + out(" usec_ts"); if (s->has_sack_opt) out(" sack"); if (s->has_ecn_opt) @@ -3037,6 +3040,7 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, if (show_options) { s.has_ts_opt = TCPI_HAS_OPT(info, TCPI_OPT_TIMESTAMPS); + s.has_usec_ts_opt = TCPI_HAS_OPT(info, TCPI_OPT_USEC_TS); s.has_sack_opt = TCPI_HAS_OPT(info, TCPI_OPT_SACK); s.has_ecn_opt = TCPI_HAS_OPT(info, TCPI_OPT_ECN); s.has_ecnseen_opt = TCPI_HAS_OPT(info, TCPI_OPT_ECN_SEEN); |