tcp: add TCPI_OPT_USEC_TS
authorEric Dumazet <edumazet@google.com>
Fri, 20 Oct 2023 12:57:48 +0000 (12:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 Oct 2023 08:35:01 +0000 (09:35 +0100)
Add the ability to report in tcp_info.tcpi_options if
a flow is using usec resolution in TCP TS val.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/tcp.h
net/ipv4/tcp.c

index d1d08da..8aa3916 100644 (file)
@@ -170,6 +170,7 @@ enum tcp_fastopen_client_fail {
 #define TCPI_OPT_ECN           8 /* ECN was negociated at TCP session init */
 #define TCPI_OPT_ECN_SEEN      16 /* we received at least one packet with ECT */
 #define TCPI_OPT_SYN_DATA      32 /* SYN-ACK acked data in SYN sent or rcvd */
+#define TCPI_OPT_USEC_TS       64 /* usec timestamps */
 
 /*
  * Sender's congestion state indicating normal or abnormal situations
index b961364..a86d820 100644 (file)
@@ -3760,6 +3760,8 @@ void tcp_get_info(struct sock *sk, struct tcp_info *info)
                info->tcpi_options |= TCPI_OPT_ECN_SEEN;
        if (tp->syn_data_acked)
                info->tcpi_options |= TCPI_OPT_SYN_DATA;
+       if (tp->tcp_usec_ts)
+               info->tcpi_options |= TCPI_OPT_USEC_TS;
 
        info->tcpi_rto = jiffies_to_usecs(icsk->icsk_rto);
        info->tcpi_ato = jiffies_to_usecs(min_t(u32, icsk->icsk_ack.ato,