tcp_metrics.h (1549B)
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 14enum 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 30enum { 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 51enum { 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 */