73 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3 * IPv6 IOAM Generic Netlink API4 *5 * Author:6 * Justin Iurman <justin.iurman@uliege.be>7 */8 9#ifndef _UAPI_LINUX_IOAM6_GENL_H10#define _UAPI_LINUX_IOAM6_GENL_H11 12#define IOAM6_GENL_NAME "IOAM6"13#define IOAM6_GENL_VERSION 0x114 15enum {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 34enum {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#define IOAM6_GENL_EV_GRP_NAME "ioam6_events"53 54enum ioam6_event_type {55 IOAM6_EVENT_UNSPEC,56 IOAM6_EVENT_TRACE,57};58 59enum ioam6_event_attr {60 IOAM6_EVENT_ATTR_UNSPEC,61 62 IOAM6_EVENT_ATTR_TRACE_NAMESPACE, /* u16 */63 IOAM6_EVENT_ATTR_TRACE_NODELEN, /* u8 */64 IOAM6_EVENT_ATTR_TRACE_TYPE, /* u32 */65 IOAM6_EVENT_ATTR_TRACE_DATA, /* Binary */66 67 __IOAM6_EVENT_ATTR_MAX68};69 70#define IOAM6_EVENT_ATTR_MAX (__IOAM6_EVENT_ATTR_MAX - 1)71 72#endif /* _UAPI_LINUX_IOAM6_GENL_H */73