tcp_metrics.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /* tcp_metrics.h - TCP Metrics Interface */
  2. #ifndef _LINUX_TCP_METRICS_H
  3. #define _LINUX_TCP_METRICS_H
  4. #include <linux/types.h>
  5. /* NETLINK_GENERIC related info
  6. */
  7. #define TCP_METRICS_GENL_NAME "tcp_metrics"
  8. #define TCP_METRICS_GENL_VERSION 0x1
  9. enum tcp_metric_index {
  10. TCP_METRIC_RTT,
  11. TCP_METRIC_RTTVAR,
  12. TCP_METRIC_SSTHRESH,
  13. TCP_METRIC_CWND,
  14. TCP_METRIC_REORDERING,
  15. /* Always last. */
  16. __TCP_METRIC_MAX,
  17. };
  18. #define TCP_METRIC_MAX (__TCP_METRIC_MAX - 1)
  19. enum {
  20. TCP_METRICS_ATTR_UNSPEC,
  21. TCP_METRICS_ATTR_ADDR_IPV4, /* u32 */
  22. TCP_METRICS_ATTR_ADDR_IPV6, /* binary */
  23. TCP_METRICS_ATTR_AGE, /* msecs */
  24. TCP_METRICS_ATTR_TW_TSVAL, /* u32, raw, rcv tsval */
  25. TCP_METRICS_ATTR_TW_TS_STAMP, /* s32, sec age */
  26. TCP_METRICS_ATTR_VALS, /* nested +1, u32 */
  27. TCP_METRICS_ATTR_FOPEN_MSS, /* u16 */
  28. TCP_METRICS_ATTR_FOPEN_SYN_DROPS, /* u16, count of drops */
  29. TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */
  30. TCP_METRICS_ATTR_FOPEN_COOKIE, /* binary */
  31. __TCP_METRICS_ATTR_MAX,
  32. };
  33. #define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1)
  34. enum {
  35. TCP_METRICS_CMD_UNSPEC,
  36. TCP_METRICS_CMD_GET,
  37. TCP_METRICS_CMD_DEL,
  38. __TCP_METRICS_CMD_MAX,
  39. };
  40. #define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1)
  41. #endif /* _LINUX_TCP_METRICS_H */