Browse Source

add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums from linux v4.10

for tcp timestamp control messages, new in linux commit
1c885808e45601b2b6f68b30ac1d999e10b6f606
and export time measurements via tcp_info, added in linux commit
efd90174167530c67a54273fd5d8369c87f9bd32
Szabolcs Nagy 8 years ago
parent
commit
5c596ed867
2 changed files with 11 additions and 0 deletions
  1. 10 0
      include/netinet/tcp.h
  2. 1 0
      include/sys/socket.h

+ 10 - 0
include/netinet/tcp.h

@@ -44,6 +44,13 @@
 #define TCP_LISTEN       10
 #define TCP_CLOSING      11
 
+enum {
+	TCP_NLA_PAD,
+	TCP_NLA_BUSY,
+	TCP_NLA_RWND_LIMITED,
+	TCP_NLA_SNDBUF_LIMITED,
+};
+
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define TCPOPT_EOL              0
 #define TCPOPT_NOP              1
@@ -190,6 +197,9 @@ struct tcp_info {
 	uint32_t tcpi_data_segs_in;
 	uint32_t tcpi_data_segs_out;
 	uint64_t tcpi_delivery_rate;
+	uint64_t tcpi_busy_time;
+	uint64_t tcpi_rwnd_limited;
+	uint64_t tcpi_sndbuf_limited;
 };
 
 #define TCP_MD5SIG_MAXKEYLEN    80

+ 1 - 0
include/sys/socket.h

@@ -224,6 +224,7 @@ struct linger {
 #define SO_ATTACH_REUSEPORT_CBPF 51
 #define SO_ATTACH_REUSEPORT_EBPF 52
 #define SO_CNX_ADVICE           53
+#define SCM_TIMESTAMPING_OPT_STATS 54
 
 #ifndef SOL_SOCKET
 #define SOL_SOCKET      1