]> 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)
committerStephen Hemminger <stephen@networkplumber.org>
Wed, 1 Sep 2021 19:51:44 +0000 (12:51 -0700)
commitf0b3808afa756a71bf9dd2e7597da16b17892471
tree651db910d5fefe1d22fa9e19354269fd337d26af
parentacbdef93869e0865243bb4746309527bbc5f25b7
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]