]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'ipv6-ioam-encap'
authorDavid S. Miller <davem@davemloft.net>
Mon, 4 Oct 2021 11:53:36 +0000 (12:53 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Oct 2021 11:53:36 +0000 (12:53 +0100)
commitcfbe9b002109621bf9a282a4a24f9415ef14b57b
treee44cc36414bb258e061d1b964e6e75b7a21f0042
parent9ac936276f8628ef5765bcc2ca7138a803de8aff
parentbf77b1400a56332819f9358cac52b326d6d49dfd
Merge branch 'ipv6-ioam-encap'

Justin Iurman says:

====================
Support for the ip6ip6 encapsulation of IOAM

v2:
 - add prerequisite patches
 - keep uapi backwards compatible by adding two new attributes
 - add more comments to document the ioam6_iptunnel uapi

In the current implementation, IOAM can only be inserted directly (i.e., only
inside packets generated locally) by default, to be compliant with RFC8200.

This patch adds support for in-transit packets and provides the ip6ip6
encapsulation of IOAM (RFC8200 compliant). Therefore, three ioam6 encap modes
are defined:

 - inline: directly inserts IOAM inside packets (by default).

 - encap:  ip6ip6 encapsulation of IOAM inside packets.

 - auto:   either inline mode for packets generated locally or encap mode for
           in-transit packets.

With current iproute2 implementation, it is configured this way:

$ ip -6 r [...] encap ioam6 trace prealloc [...]

The old syntax does not change (for backwards compatibility) and implicitly uses
the inline mode. With the new syntax, an encap mode can be specified:

(inline mode)
$ ip -6 r [...] encap ioam6 mode inline trace prealloc [...]

(encap mode)
$ ip -6 r [...] encap ioam6 mode encap tundst fc00::2 trace prealloc [...]

(auto mode)
$ ip -6 r [...] encap ioam6 mode auto tundst fc00::2 trace prealloc [...]

A tunnel destination address must be configured when using the encap mode or the
auto mode.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>