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 9 #ifndef _UAPI_LINUX_IOAM6_GENL_H 10 #define _UAPI_LINUX_IOAM6_GENL_H 11 12 #define IOAM6_GENL_NAME "IOAM6" 13 #define IOAM6_GENL_VERSION 0x1 14 15 enum { 16 IOAM6_ATTR_UNSPEC, 17 18 IOAM6_ATTR_NS_ID, /* u16 */ 19 IOAM6_ATTR_NS_DATA, /* u32 */ 20 IOAM6_ATTR_NS_DATA_WIDE,/* u64 */ 21 22 #define IOAM6_MAX_SCHEMA_DATA_LEN (255 * 4) 23 IOAM6_ATTR_SC_ID, /* u32 */ 24 IOAM6_ATTR_SC_DATA, /* Binary */ 25 IOAM6_ATTR_SC_NONE, /* Flag */ 26 27 IOAM6_ATTR_PAD, 28 29 __IOAM6_ATTR_MAX, 30 }; 31 32 #define IOAM6_ATTR_MAX (__IOAM6_ATTR_MAX - 1) 33 34 enum { 35 IOAM6_CMD_UNSPEC, 36 37 IOAM6_CMD_ADD_NAMESPACE, 38 IOAM6_CMD_DEL_NAMESPACE, 39 IOAM6_CMD_DUMP_NAMESPACES, 40 41 IOAM6_CMD_ADD_SCHEMA, 42 IOAM6_CMD_DEL_SCHEMA, 43 IOAM6_CMD_DUMP_SCHEMAS, 44 45 IOAM6_CMD_NS_SET_SCHEMA, 46 47 __IOAM6_CMD_MAX, 48 }; 49 50 #define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1) 51 52 #endif /* _UAPI_LINUX_IOAM6_GENL_H */ 53