1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linu 1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 /* 2 /* 3 * IPv6 IOAM Generic Netlink API 3 * IPv6 IOAM Generic Netlink API 4 * 4 * 5 * Author: 5 * Author: 6 * Justin Iurman <justin.iurman@uliege.be> 6 * Justin Iurman <justin.iurman@uliege.be> 7 */ 7 */ 8 8 9 #ifndef _UAPI_LINUX_IOAM6_GENL_H 9 #ifndef _UAPI_LINUX_IOAM6_GENL_H 10 #define _UAPI_LINUX_IOAM6_GENL_H 10 #define _UAPI_LINUX_IOAM6_GENL_H 11 11 12 #define IOAM6_GENL_NAME "IOAM6" 12 #define IOAM6_GENL_NAME "IOAM6" 13 #define IOAM6_GENL_VERSION 0x1 13 #define IOAM6_GENL_VERSION 0x1 14 14 15 enum { 15 enum { 16 IOAM6_ATTR_UNSPEC, 16 IOAM6_ATTR_UNSPEC, 17 17 18 IOAM6_ATTR_NS_ID, /* u16 */ 18 IOAM6_ATTR_NS_ID, /* u16 */ 19 IOAM6_ATTR_NS_DATA, /* u32 */ 19 IOAM6_ATTR_NS_DATA, /* u32 */ 20 IOAM6_ATTR_NS_DATA_WIDE,/* u64 */ 20 IOAM6_ATTR_NS_DATA_WIDE,/* u64 */ 21 21 22 #define IOAM6_MAX_SCHEMA_DATA_LEN (255 * 4) 22 #define IOAM6_MAX_SCHEMA_DATA_LEN (255 * 4) 23 IOAM6_ATTR_SC_ID, /* u32 */ 23 IOAM6_ATTR_SC_ID, /* u32 */ 24 IOAM6_ATTR_SC_DATA, /* Binary */ 24 IOAM6_ATTR_SC_DATA, /* Binary */ 25 IOAM6_ATTR_SC_NONE, /* Flag */ 25 IOAM6_ATTR_SC_NONE, /* Flag */ 26 26 27 IOAM6_ATTR_PAD, 27 IOAM6_ATTR_PAD, 28 28 29 __IOAM6_ATTR_MAX, 29 __IOAM6_ATTR_MAX, 30 }; 30 }; 31 31 32 #define IOAM6_ATTR_MAX (__IOAM6_ATTR_MAX - 1) 32 #define IOAM6_ATTR_MAX (__IOAM6_ATTR_MAX - 1) 33 33 34 enum { 34 enum { 35 IOAM6_CMD_UNSPEC, 35 IOAM6_CMD_UNSPEC, 36 36 37 IOAM6_CMD_ADD_NAMESPACE, 37 IOAM6_CMD_ADD_NAMESPACE, 38 IOAM6_CMD_DEL_NAMESPACE, 38 IOAM6_CMD_DEL_NAMESPACE, 39 IOAM6_CMD_DUMP_NAMESPACES, 39 IOAM6_CMD_DUMP_NAMESPACES, 40 40 41 IOAM6_CMD_ADD_SCHEMA, 41 IOAM6_CMD_ADD_SCHEMA, 42 IOAM6_CMD_DEL_SCHEMA, 42 IOAM6_CMD_DEL_SCHEMA, 43 IOAM6_CMD_DUMP_SCHEMAS, 43 IOAM6_CMD_DUMP_SCHEMAS, 44 44 45 IOAM6_CMD_NS_SET_SCHEMA, 45 IOAM6_CMD_NS_SET_SCHEMA, 46 46 47 __IOAM6_CMD_MAX, 47 __IOAM6_CMD_MAX, 48 }; 48 }; 49 49 50 #define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1) 50 #define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1) 51 51 52 #define IOAM6_GENL_EV_GRP_NAME "ioam6_events" 52 #define IOAM6_GENL_EV_GRP_NAME "ioam6_events" 53 53 54 enum ioam6_event_type { 54 enum ioam6_event_type { 55 IOAM6_EVENT_UNSPEC, 55 IOAM6_EVENT_UNSPEC, 56 IOAM6_EVENT_TRACE, 56 IOAM6_EVENT_TRACE, 57 }; 57 }; 58 58 59 enum ioam6_event_attr { 59 enum ioam6_event_attr { 60 IOAM6_EVENT_ATTR_UNSPEC, 60 IOAM6_EVENT_ATTR_UNSPEC, 61 61 62 IOAM6_EVENT_ATTR_TRACE_NAMESPACE, 62 IOAM6_EVENT_ATTR_TRACE_NAMESPACE, /* u16 */ 63 IOAM6_EVENT_ATTR_TRACE_NODELEN, 63 IOAM6_EVENT_ATTR_TRACE_NODELEN, /* u8 */ 64 IOAM6_EVENT_ATTR_TRACE_TYPE, 64 IOAM6_EVENT_ATTR_TRACE_TYPE, /* u32 */ 65 IOAM6_EVENT_ATTR_TRACE_DATA, 65 IOAM6_EVENT_ATTR_TRACE_DATA, /* Binary */ 66 66 67 __IOAM6_EVENT_ATTR_MAX 67 __IOAM6_EVENT_ATTR_MAX 68 }; 68 }; 69 69 70 #define IOAM6_EVENT_ATTR_MAX (__IOAM6_EVENT_AT 70 #define IOAM6_EVENT_ATTR_MAX (__IOAM6_EVENT_ATTR_MAX - 1) 71 71 72 #endif /* _UAPI_LINUX_IOAM6_GENL_H */ 72 #endif /* _UAPI_LINUX_IOAM6_GENL_H */ 73 73
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.