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