]> git.ipfire.org Git - thirdparty/iproute2.git/commit
Add, show, link, remove IOAM namespaces and schemas
authorJustin Iurman <justin.iurman@uliege.be>
Sun, 1 Aug 2021 12:45:50 +0000 (14:45 +0200)
committerDavid Ahern <dsahern@kernel.org>
Mon, 2 Aug 2021 17:33:05 +0000 (11:33 -0600)
commit29098125834c2e160c1c2e17980db022f54c7cac
tree94ec566978177a7d16dba23d97a55a0f3328ca6e
parente53f4cd504214f2d7e7870c91a949dbb8d9f91d4
Add, show, link, remove IOAM namespaces and schemas

This patch provides support for adding, listing and removing IOAM namespaces
and schemas with iproute2. When adding an IOAM namespace, both "data" (=u32)
and "wide" (=u64) are optional. Therefore, you can either have none, one of
them, or both at the same time. When adding an IOAM schema, there is no
restriction on "DATA" except its size (see IOAM6_MAX_SCHEMA_DATA_LEN). By
default, an IOAM namespace has no active IOAM schema (meaning an IOAM namespace
is not linked to an IOAM schema), and an IOAM schema is not considered
as "active" (meaning an IOAM schema is not linked to an IOAM namespace). It is
possible to link an IOAM namespace with an IOAM schema, thanks to the last
command below (meaning the IOAM schema will be considered as "active" for the
specific IOAM namespace).

$ ip ioam
Usage: ip ioam { COMMAND | help }
ip ioam namespace show
ip ioam namespace add ID [ data DATA32 ] [ wide DATA64 ]
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>
Signed-off-by: David Ahern <dsahern@kernel.org>
ip/Makefile
ip/ip.c
ip/ip_common.h
ip/ipioam6.c [new file with mode: 0644]