ioam6_genl.h 945 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
  2. /*
  3. * IPv6 IOAM Generic Netlink API
  4. *
  5. * Author:
  6. * Justin Iurman <justin.iurman@uliege.be>
  7. */
  8. #ifndef _LINUX_IOAM6_GENL_H
  9. #define _LINUX_IOAM6_GENL_H
  10. #define IOAM6_GENL_NAME "IOAM6"
  11. #define IOAM6_GENL_VERSION 0x1
  12. enum {
  13. IOAM6_ATTR_UNSPEC,
  14. IOAM6_ATTR_NS_ID, /* u16 */
  15. IOAM6_ATTR_NS_DATA, /* u32 */
  16. IOAM6_ATTR_NS_DATA_WIDE,/* u64 */
  17. #define IOAM6_MAX_SCHEMA_DATA_LEN (255 * 4)
  18. IOAM6_ATTR_SC_ID, /* u32 */
  19. IOAM6_ATTR_SC_DATA, /* Binary */
  20. IOAM6_ATTR_SC_NONE, /* Flag */
  21. IOAM6_ATTR_PAD,
  22. __IOAM6_ATTR_MAX,
  23. };
  24. #define IOAM6_ATTR_MAX (__IOAM6_ATTR_MAX - 1)
  25. enum {
  26. IOAM6_CMD_UNSPEC,
  27. IOAM6_CMD_ADD_NAMESPACE,
  28. IOAM6_CMD_DEL_NAMESPACE,
  29. IOAM6_CMD_DUMP_NAMESPACES,
  30. IOAM6_CMD_ADD_SCHEMA,
  31. IOAM6_CMD_DEL_SCHEMA,
  32. IOAM6_CMD_DUMP_SCHEMAS,
  33. IOAM6_CMD_NS_SET_SCHEMA,
  34. __IOAM6_CMD_MAX,
  35. };
  36. #define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1)
  37. #endif /* _LINUX_IOAM6_GENL_H */