GNU Linux-libre 6.9.2-gnu
[releases.git] / include / uapi / linux / tcp_metrics.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* tcp_metrics.h - TCP Metrics Interface */
3
4 #ifndef _LINUX_TCP_METRICS_H
5 #define _LINUX_TCP_METRICS_H
6
7 #include <linux/types.h>
8
9 /* NETLINK_GENERIC related info
10  */
11 #define TCP_METRICS_GENL_NAME           "tcp_metrics"
12 #define TCP_METRICS_GENL_VERSION        0x1
13
14 enum tcp_metric_index {
15         TCP_METRIC_RTT,         /* in ms units */
16         TCP_METRIC_RTTVAR,      /* in ms units */
17         TCP_METRIC_SSTHRESH,
18         TCP_METRIC_CWND,
19         TCP_METRIC_REORDERING,
20
21         TCP_METRIC_RTT_US,      /* in usec units */
22         TCP_METRIC_RTTVAR_US,   /* in usec units */
23
24         /* Always last.  */
25         __TCP_METRIC_MAX,
26 };
27
28 #define TCP_METRIC_MAX  (__TCP_METRIC_MAX - 1)
29
30 enum {
31         TCP_METRICS_ATTR_UNSPEC,
32         TCP_METRICS_ATTR_ADDR_IPV4,             /* u32 */
33         TCP_METRICS_ATTR_ADDR_IPV6,             /* binary */
34         TCP_METRICS_ATTR_AGE,                   /* msecs */
35         TCP_METRICS_ATTR_TW_TSVAL,              /* u32, raw, rcv tsval */
36         TCP_METRICS_ATTR_TW_TS_STAMP,           /* s32, sec age */
37         TCP_METRICS_ATTR_VALS,                  /* nested +1, u32 */
38         TCP_METRICS_ATTR_FOPEN_MSS,             /* u16 */
39         TCP_METRICS_ATTR_FOPEN_SYN_DROPS,       /* u16, count of drops */
40         TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS,     /* msecs age */
41         TCP_METRICS_ATTR_FOPEN_COOKIE,          /* binary */
42         TCP_METRICS_ATTR_SADDR_IPV4,            /* u32 */
43         TCP_METRICS_ATTR_SADDR_IPV6,            /* binary */
44         TCP_METRICS_ATTR_PAD,
45
46         __TCP_METRICS_ATTR_MAX,
47 };
48
49 #define TCP_METRICS_ATTR_MAX    (__TCP_METRICS_ATTR_MAX - 1)
50
51 enum {
52         TCP_METRICS_CMD_UNSPEC,
53         TCP_METRICS_CMD_GET,
54         TCP_METRICS_CMD_DEL,
55
56         __TCP_METRICS_CMD_MAX,
57 };
58
59 #define TCP_METRICS_CMD_MAX     (__TCP_METRICS_CMD_MAX - 1)
60
61 #endif /* _LINUX_TCP_METRICS_H */