Skip to content

Commit

Permalink
ipv6: ioam: IOAM Generic Netlink API
Browse files Browse the repository at this point in the history
Add Generic Netlink commands to allow userspace to configure IOAM
namespaces and schemas. The target is iproute2 and the patch is ready.
It will be posted as soon as this patchset is merged. Here is an overview:

$ ip ioam
Usage:	ip ioam { COMMAND | help }
	ip ioam namespace show
	ip ioam namespace add ID [ DATA ]
	ip ioam namespace del ID
	ip ioam schema show
	ip ioam schema add ID DATA
	ip ioam schema del ID
	ip ioam namespace set ID schema { ID | none }

Signed-off-by: Justin Iurman <justin.iurman@uliege.be>
  • Loading branch information
IurmanJ authored and intel-lab-lkp committed May 26, 2021
1 parent 21e68a7 commit 8a4dc82
Show file tree
Hide file tree
Showing 3 changed files with 566 additions and 2 deletions.
13 changes: 13 additions & 0 deletions include/linux/ioam6_genl.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* IPv6 IOAM Generic Netlink API
*
* Author:
* Justin Iurman <justin.iurman@uliege.be>
*/
#ifndef _LINUX_IOAM6_GENL_H
#define _LINUX_IOAM6_GENL_H

#include <uapi/linux/ioam6_genl.h>

#endif /* _LINUX_IOAM6_GENL_H */
49 changes: 49 additions & 0 deletions include/uapi/linux/ioam6_genl.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
/*
* IPv6 IOAM Generic Netlink API
*
* Author:
* Justin Iurman <justin.iurman@uliege.be>
*/

#ifndef _UAPI_LINUX_IOAM6_GENL_H
#define _UAPI_LINUX_IOAM6_GENL_H

#define IOAM6_GENL_NAME "IOAM6"
#define IOAM6_GENL_VERSION 0x1

enum {
IOAM6_ATTR_UNSPEC,

IOAM6_ATTR_NS_ID, /* u16 */
IOAM6_ATTR_NS_DATA, /* u64 */

#define IOAM6_MAX_SCHEMA_DATA_LEN (255 * 4)
IOAM6_ATTR_SC_ID, /* u32 */
IOAM6_ATTR_SC_DATA, /* Binary */
IOAM6_ATTR_SC_NONE, /* Flag */

IOAM6_ATTR_PAD,

__IOAM6_ATTR_MAX,
};
#define IOAM6_ATTR_MAX (__IOAM6_ATTR_MAX - 1)

enum {
IOAM6_CMD_UNSPEC,

IOAM6_CMD_ADD_NAMESPACE,
IOAM6_CMD_DEL_NAMESPACE,
IOAM6_CMD_DUMP_NAMESPACES,

IOAM6_CMD_ADD_SCHEMA,
IOAM6_CMD_DEL_SCHEMA,
IOAM6_CMD_DUMP_SCHEMAS,

IOAM6_CMD_NS_SET_SCHEMA,

__IOAM6_CMD_MAX,
};
#define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1)

#endif /* _UAPI_LINUX_IOAM6_GENL_H */

0 comments on commit 8a4dc82

Please sign in to comment.