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 TCP_METRICS_ATTR_SADDR_IPV4, /* u32 */ 39 TCP_METRICS_ATTR_SADDR_IPV6, /* binary */ 40 41 __TCP_METRICS_ATTR_MAX, 42 }; 43 44 #define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1) 45 46 enum { 47 TCP_METRICS_CMD_UNSPEC, 48 TCP_METRICS_CMD_GET, 49 TCP_METRICS_CMD_DEL, 50 51 __TCP_METRICS_CMD_MAX, 52 }; 53 54 #define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1) 55 56 #endif /* _LINUX_TCP_METRICS_H */ 57