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, /* in ms units */ 15 TCP_METRIC_RTTVAR, /* in ms units */ 16 TCP_METRIC_SSTHRESH, 17 TCP_METRIC_CWND, 18 TCP_METRIC_REORDERING, 19 20 TCP_METRIC_RTT_US, /* in usec units */ 21 TCP_METRIC_RTTVAR_US, /* in usec units */ 22 23 /* Always last. */ 24 __TCP_METRIC_MAX, 25 }; 26 27 #define TCP_METRIC_MAX (__TCP_METRIC_MAX - 1) 28 29 enum { 30 TCP_METRICS_ATTR_UNSPEC, 31 TCP_METRICS_ATTR_ADDR_IPV4, /* u32 */ 32 TCP_METRICS_ATTR_ADDR_IPV6, /* binary */ 33 TCP_METRICS_ATTR_AGE, /* msecs */ 34 TCP_METRICS_ATTR_TW_TSVAL, /* u32, raw, rcv tsval */ 35 TCP_METRICS_ATTR_TW_TS_STAMP, /* s32, sec age */ 36 TCP_METRICS_ATTR_VALS, /* nested +1, u32 */ 37 TCP_METRICS_ATTR_FOPEN_MSS, /* u16 */ 38 TCP_METRICS_ATTR_FOPEN_SYN_DROPS, /* u16, count of drops */ 39 TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */ 40 TCP_METRICS_ATTR_FOPEN_COOKIE, /* binary */ 41 TCP_METRICS_ATTR_SADDR_IPV4, /* u32 */ 42 TCP_METRICS_ATTR_SADDR_IPV6, /* binary */ 43 44 __TCP_METRICS_ATTR_MAX, 45 }; 46 47 #define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1) 48 49 enum { 50 TCP_METRICS_CMD_UNSPEC, 51 TCP_METRICS_CMD_GET, 52 TCP_METRICS_CMD_DEL, 53 54 __TCP_METRICS_CMD_MAX, 55 }; 56 57 #define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1) 58 59 #endif /* _LINUX_TCP_METRICS_H */ 60