/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ /* * IPv6 IOAM Generic Netlink API * * Author: * Justin Iurman */ #ifndef _UAPI_LINUX_IOAM6_GENL_H #define _UAPI_LINUX_IOAM6_GENL_H #define IOAM6_GENL_NAME "IOAM6" #define IOAM6_GENL_VERSION 0x1 enum { IOAM6_ATTR_UNSPEC, IOAM6_ATTR_NS_ID, /* u16 */ IOAM6_ATTR_NS_DATA, /* u32 */ IOAM6_ATTR_NS_DATA_WIDE,/* u64 */ #define IOAM6_MAX_SCHEMA_DATA_LEN (255 * 4) IOAM6_ATTR_SC_ID, /* u32 */ IOAM6_ATTR_SC_DATA, /* Binary */ IOAM6_ATTR_SC_NONE, /* Flag */ IOAM6_ATTR_PAD, __IOAM6_ATTR_MAX, }; #define IOAM6_ATTR_MAX (__IOAM6_ATTR_MAX - 1) enum { IOAM6_CMD_UNSPEC, IOAM6_CMD_ADD_NAMESPACE, IOAM6_CMD_DEL_NAMESPACE, IOAM6_CMD_DUMP_NAMESPACES, IOAM6_CMD_ADD_SCHEMA, IOAM6_CMD_DEL_SCHEMA, IOAM6_CMD_DUMP_SCHEMAS, IOAM6_CMD_NS_SET_SCHEMA, __IOAM6_CMD_MAX, }; #define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1) #define IOAM6_GENL_EV_GRP_NAME "ioam6_events" enum ioam6_event_type { IOAM6_EVENT_UNSPEC, IOAM6_EVENT_TRACE, }; enum ioam6_event_attr { IOAM6_EVENT_ATTR_UNSPEC, IOAM6_EVENT_ATTR_TRACE_NAMESPACE, /* u16 */ IOAM6_EVENT_ATTR_TRACE_NODELEN, /* u8 */ IOAM6_EVENT_ATTR_TRACE_TYPE, /* u32 */ IOAM6_EVENT_ATTR_TRACE_DATA, /* Binary */ __IOAM6_EVENT_ATTR_MAX }; #define IOAM6_EVENT_ATTR_MAX (__IOAM6_EVENT_ATTR_MAX - 1) #endif /* _UAPI_LINUX_IOAM6_GENL_H */