uapi: ioam6: API for netlink multicast events
authorJustin Iurman <justin.iurman@uliege.be>
Mon, 26 Feb 2024 13:14:10 +0000 (14:14 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Feb 2024 11:19:41 +0000 (11:19 +0000)
Add new api to support ioam6 events for generic netlink multicast. A
first "trace" event is added to the list of ioam6 events, which will
represent an IOAM Pre-allocated Trace Option-Type. It provides another
solution to share IOAM data with user space.

Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Justin Iurman <justin.iurman@uliege.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/ioam6_genl.h

index ca4b228337548d36bace782e9f1a038d41d07cb4..1733fbc51fb5c4fc1c6113d94f9bf9f7aa317731 100644 (file)
@@ -49,4 +49,24 @@ enum {
 
 #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 */