Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /* tcp_metrics.h - TCP Metrics Interface */
0003 
0004 #ifndef _LINUX_TCP_METRICS_H
0005 #define _LINUX_TCP_METRICS_H
0006 
0007 #include <linux/types.h>
0008 
0009 /* NETLINK_GENERIC related info
0010  */
0011 #define TCP_METRICS_GENL_NAME       "tcp_metrics"
0012 #define TCP_METRICS_GENL_VERSION    0x1
0013 
0014 enum tcp_metric_index {
0015     TCP_METRIC_RTT,     /* in ms units */
0016     TCP_METRIC_RTTVAR,  /* in ms units */
0017     TCP_METRIC_SSTHRESH,
0018     TCP_METRIC_CWND,
0019     TCP_METRIC_REORDERING,
0020 
0021     TCP_METRIC_RTT_US,  /* in usec units */
0022     TCP_METRIC_RTTVAR_US,   /* in usec units */
0023 
0024     /* Always last.  */
0025     __TCP_METRIC_MAX,
0026 };
0027 
0028 #define TCP_METRIC_MAX  (__TCP_METRIC_MAX - 1)
0029 
0030 enum {
0031     TCP_METRICS_ATTR_UNSPEC,
0032     TCP_METRICS_ATTR_ADDR_IPV4,     /* u32 */
0033     TCP_METRICS_ATTR_ADDR_IPV6,     /* binary */
0034     TCP_METRICS_ATTR_AGE,           /* msecs */
0035     TCP_METRICS_ATTR_TW_TSVAL,      /* u32, raw, rcv tsval */
0036     TCP_METRICS_ATTR_TW_TS_STAMP,       /* s32, sec age */
0037     TCP_METRICS_ATTR_VALS,          /* nested +1, u32 */
0038     TCP_METRICS_ATTR_FOPEN_MSS,     /* u16 */
0039     TCP_METRICS_ATTR_FOPEN_SYN_DROPS,   /* u16, count of drops */
0040     TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */
0041     TCP_METRICS_ATTR_FOPEN_COOKIE,      /* binary */
0042     TCP_METRICS_ATTR_SADDR_IPV4,        /* u32 */
0043     TCP_METRICS_ATTR_SADDR_IPV6,        /* binary */
0044     TCP_METRICS_ATTR_PAD,
0045 
0046     __TCP_METRICS_ATTR_MAX,
0047 };
0048 
0049 #define TCP_METRICS_ATTR_MAX    (__TCP_METRICS_ATTR_MAX - 1)
0050 
0051 enum {
0052     TCP_METRICS_CMD_UNSPEC,
0053     TCP_METRICS_CMD_GET,
0054     TCP_METRICS_CMD_DEL,
0055 
0056     __TCP_METRICS_CMD_MAX,
0057 };
0058 
0059 #define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1)
0060 
0061 #endif /* _LINUX_TCP_METRICS_H */