tcp_metrics.h 1.5 KB

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