tcp_metrics.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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_MAX,
  36. };
  37. #define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1)
  38. enum {
  39. TCP_METRICS_CMD_UNSPEC,
  40. TCP_METRICS_CMD_GET,
  41. TCP_METRICS_CMD_DEL,
  42. __TCP_METRICS_CMD_MAX,
  43. };
  44. #define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1)
  45. #endif /* _LINUX_TCP_METRICS_H */