1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
3 * IPv6 IOAM Generic Netlink API
6 * Justin Iurman <justin.iurman@uliege.be>
9 #ifndef _UAPI_LINUX_IOAM6_GENL_H
10 #define _UAPI_LINUX_IOAM6_GENL_H
12 #define IOAM6_GENL_NAME "IOAM6"
13 #define IOAM6_GENL_VERSION 0x1
18 IOAM6_ATTR_NS_ID
, /* u16 */
19 IOAM6_ATTR_NS_DATA
, /* u32 */
20 IOAM6_ATTR_NS_DATA_WIDE
,/* u64 */
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 */
32 #define IOAM6_ATTR_MAX (__IOAM6_ATTR_MAX - 1)
37 IOAM6_CMD_ADD_NAMESPACE
,
38 IOAM6_CMD_DEL_NAMESPACE
,
39 IOAM6_CMD_DUMP_NAMESPACES
,
43 IOAM6_CMD_DUMP_SCHEMAS
,
45 IOAM6_CMD_NS_SET_SCHEMA
,
50 #define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1)
52 #define IOAM6_GENL_EV_GRP_NAME "ioam6_events"
54 enum ioam6_event_type
{
59 enum ioam6_event_attr
{
60 IOAM6_EVENT_ATTR_UNSPEC
,
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 */
67 __IOAM6_EVENT_ATTR_MAX
70 #define IOAM6_EVENT_ATTR_MAX (__IOAM6_EVENT_ATTR_MAX - 1)
72 #endif /* _UAPI_LINUX_IOAM6_GENL_H */