logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

tcp_metrics.h (1985B)


  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /* tcp_metrics.h - TCP Metrics Interface */
  3. #ifndef _LINUX_TCP_METRICS_H
  4. #define _LINUX_TCP_METRICS_H
  5. #include <linux/types.h>
  6. /* NETLINK_GENERIC related info
  7. */
  8. #define TCP_METRICS_GENL_NAME "tcp_metrics"
  9. #define TCP_METRICS_GENL_VERSION 0x1
  10. enum tcp_metric_index {
  11. TCP_METRIC_RTT, /* in ms units */
  12. TCP_METRIC_RTTVAR, /* in ms units */
  13. TCP_METRIC_SSTHRESH,
  14. TCP_METRIC_CWND,
  15. TCP_METRIC_REORDERING,
  16. TCP_METRIC_RTT_US, /* in usec units */
  17. TCP_METRIC_RTTVAR_US, /* in usec units */
  18. /* Always last. */
  19. __TCP_METRIC_MAX,
  20. };
  21. #define TCP_METRIC_MAX (__TCP_METRIC_MAX - 1)
  22. /* Re-define enum tcp_metric_index, again, using the values carried
  23. * as netlink attribute types.
  24. */
  25. enum {
  26. TCP_METRICS_A_METRICS_RTT = 1,
  27. TCP_METRICS_A_METRICS_RTTVAR,
  28. TCP_METRICS_A_METRICS_SSTHRESH,
  29. TCP_METRICS_A_METRICS_CWND,
  30. TCP_METRICS_A_METRICS_REODERING,
  31. TCP_METRICS_A_METRICS_RTT_US,
  32. TCP_METRICS_A_METRICS_RTTVAR_US,
  33. __TCP_METRICS_A_METRICS_MAX
  34. };
  35. #define TCP_METRICS_A_METRICS_MAX (__TCP_METRICS_A_METRICS_MAX - 1)
  36. enum {
  37. TCP_METRICS_ATTR_UNSPEC,
  38. TCP_METRICS_ATTR_ADDR_IPV4, /* u32 */
  39. TCP_METRICS_ATTR_ADDR_IPV6, /* binary */
  40. TCP_METRICS_ATTR_AGE, /* msecs */
  41. TCP_METRICS_ATTR_TW_TSVAL, /* u32, raw, rcv tsval */
  42. TCP_METRICS_ATTR_TW_TS_STAMP, /* s32, sec age */
  43. TCP_METRICS_ATTR_VALS, /* nested +1, u32 */
  44. TCP_METRICS_ATTR_FOPEN_MSS, /* u16 */
  45. TCP_METRICS_ATTR_FOPEN_SYN_DROPS, /* u16, count of drops */
  46. TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */
  47. TCP_METRICS_ATTR_FOPEN_COOKIE, /* binary */
  48. TCP_METRICS_ATTR_SADDR_IPV4, /* u32 */
  49. TCP_METRICS_ATTR_SADDR_IPV6, /* binary */
  50. TCP_METRICS_ATTR_PAD,
  51. __TCP_METRICS_ATTR_MAX,
  52. };
  53. #define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1)
  54. enum {
  55. TCP_METRICS_CMD_UNSPEC,
  56. TCP_METRICS_CMD_GET,
  57. TCP_METRICS_CMD_DEL,
  58. __TCP_METRICS_CMD_MAX,
  59. };
  60. #define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1)
  61. #endif /* _LINUX_TCP_METRICS_H */