|
| 1 | +/* tcp_metrics.h - TCP Metrics Interface */ |
| 2 | + |
| 3 | +#ifndef _LINUX_TCP_METRICS_H |
| 4 | +#define _LINUX_TCP_METRICS_H |
| 5 | + |
| 6 | +#include <linux/types.h> |
| 7 | + |
| 8 | +/* NETLINK_GENERIC related info |
| 9 | + */ |
| 10 | +#define TCP_METRICS_GENL_NAME "tcp_metrics" |
| 11 | +#define TCP_METRICS_GENL_VERSION 0x1 |
| 12 | + |
| 13 | +enum tcp_metric_index { |
| 14 | + TCP_METRIC_RTT, |
| 15 | + TCP_METRIC_RTTVAR, |
| 16 | + TCP_METRIC_SSTHRESH, |
| 17 | + TCP_METRIC_CWND, |
| 18 | + TCP_METRIC_REORDERING, |
| 19 | + |
| 20 | + /* Always last. */ |
| 21 | + __TCP_METRIC_MAX, |
| 22 | +}; |
| 23 | + |
| 24 | +#define TCP_METRIC_MAX (__TCP_METRIC_MAX - 1) |
| 25 | + |
| 26 | +enum { |
| 27 | + TCP_METRICS_ATTR_UNSPEC, |
| 28 | + TCP_METRICS_ATTR_ADDR_IPV4, /* u32 */ |
| 29 | + TCP_METRICS_ATTR_ADDR_IPV6, /* binary */ |
| 30 | + TCP_METRICS_ATTR_AGE, /* msecs */ |
| 31 | + TCP_METRICS_ATTR_TW_TSVAL, /* u32, raw, rcv tsval */ |
| 32 | + TCP_METRICS_ATTR_TW_TS_STAMP, /* s32, sec age */ |
| 33 | + TCP_METRICS_ATTR_VALS, /* nested +1, u32 */ |
| 34 | + TCP_METRICS_ATTR_FOPEN_MSS, /* u16 */ |
| 35 | + TCP_METRICS_ATTR_FOPEN_SYN_DROPS, /* u16, count of drops */ |
| 36 | + TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */ |
| 37 | + TCP_METRICS_ATTR_FOPEN_COOKIE, /* binary */ |
| 38 | + |
| 39 | + __TCP_METRICS_ATTR_MAX, |
| 40 | +}; |
| 41 | + |
| 42 | +#define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1) |
| 43 | + |
| 44 | +enum { |
| 45 | + TCP_METRICS_CMD_UNSPEC, |
| 46 | + TCP_METRICS_CMD_GET, |
| 47 | + TCP_METRICS_CMD_DEL, |
| 48 | + |
| 49 | + __TCP_METRICS_CMD_MAX, |
| 50 | +}; |
| 51 | + |
| 52 | +#define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1) |
| 53 | + |
| 54 | +#endif /* _LINUX_TCP_METRICS_H */ |
0 commit comments