Go to file
Paolo Lungaroni f1d037ab4a seg6: add support for SRv6 Headend Reduced Encapsulation
This patch adds the support for the reduced version of the H.Encaps and
H.L2Encaps behaviors as defined in RFC 8986 [1].

H.Encaps.Red and H.L2Encaps.Red SRv6 behaviors are an optimization of the
H.Encaps and H.L2Encaps aiming to reduce the length of the SID List carried
in the pushed SRH. Specifically, the reduced version of the behaviors
removes the first SID contained in the SID List (i.e. SRv6 Policy) by
storing it into the IPv6 Destination Address. When SRv6 Policy is made of
only one SID, the reduced version of the behaviors omits the SRH at all and
pushes that SID directly into the IPv6 DA.

Some examples:
ip -6 route add 2001:db8::1 encap seg6 mode encap.red segs fcf0:1::e,fcf0:2::d6 dev eth0
ip -6 route add 2001:db8::2 encap seg6 mode l2encap.red segs fcf0:1::d2 dev eth0

Standard Output:
ip -6 route show 2001:db8::1
2001:db8::1  encap seg6 mode encap.red segs 2 [ fcf0:1::e fcf0:2::d6 ] dev eth0 metric 1024 pref medium

JSON Output:
ip -6 -j -p route show 2001:db8::1
[ {
        "dst": "2001:db8::1",
        "encap": "seg6",
        "mode": "encap.red",
        "segs": [ "fcf0:1::e","fcf0:2::d6" ],
        "dev": "eth0",
        "metric": 1024,
        "flags": [ ],
        "pref": "medium"
    } ]

[1] - https://datatracker.ietf.org/doc/html/rfc8986

Signed-off-by: Paolo Lungaroni <paolo.lungaroni@uniroma2.it>
Signed-off-by: David Ahern <dsahern@kernel.org>
2022-08-01 09:15:07 -06:00
bash-completion devlink: add support for linecard show and type set 2022-07-21 09:19:40 -06:00
bridge bridge: fdb: add flush [no]offloaded entry matching 2022-06-10 09:02:00 -06:00
dcb Makefile: move HAVE_MNL check to top-level Makefile 2022-03-12 09:00:56 -07:00
devlink devlink: add support for linecard show and type set 2022-07-21 09:19:40 -06:00
doc/actions doc: fix 'infact' --> 'in fact' typo 2022-05-13 16:34:09 -07:00
etc/iproute2 Add Open/R to rt_protos 2021-03-30 03:04:09 +00:00
examples/bpf examples/bpf: add bpf examples with BTF defined maps 2020-11-24 22:14:08 -07:00
genl genl: fix duplicate include guard 2022-06-17 10:08:19 -07:00
include Update kernel headers 2022-07-30 10:29:01 -06:00
ip seg6: add support for SRv6 Headend Reduced Encapsulation 2022-08-01 09:15:07 -06:00
lib lib: Introduce ppp protocols 2022-07-29 11:22:42 -06:00
man seg6: add support for SRv6 Headend Reduced Encapsulation 2022-08-01 09:15:07 -06:00
misc ss: Shorter display format for TLS zerocopy sendfile 2022-06-12 09:51:34 -06:00
netem doc: remove trailing whitespace 2018-12-19 12:02:38 -08:00
rdma Makefile: move HAVE_MNL check to top-level Makefile 2022-03-12 09:00:56 -07:00
schema bridge: add json schema for bridge fdb show 2016-07-20 12:02:02 -07:00
tc f_flower: Introduce PPPoE support 2022-07-29 11:23:22 -06:00
testsuite testsuite: link xfrm delete no if_id test 2022-03-15 11:35:03 -07:00
tipc tipc: fix keylen check 2022-05-17 12:57:45 -07:00
vdpa vdpa: Add support for reading vdpa device statistics 2022-06-19 10:09:32 -06:00
.clang-format clang-format: add configuration file 2019-01-17 13:38:23 -08:00
.gitignore Remove leftovers from removed Latex documentation 2018-02-13 16:43:19 -08:00
.mailmap mailmap: map David's mail address 2019-05-15 09:50:42 -07:00
configure configure: add check_libtirpc() 2022-03-23 21:24:18 -06:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
Makefile Makefile: move HAVE_MNL check to top-level Makefile 2022-03-12 09:00:56 -07:00
README README: remove doc instructions 2021-03-20 09:29:02 -07:00
README.devel README: update location of git repositories, remove broken info link 2018-02-13 16:42:51 -08:00

This is a set of utilities for Linux networking.

Information:
    https://wiki.linuxfoundation.org/networking/iproute2

Download:
    http://www.kernel.org/pub/linux/utils/net/iproute2/

Stable version repository:
    git://git.kernel.org/pub/scm/network/iproute2/iproute2.git

Development repository:
    git://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git

How to compile this.
--------------------
1. libdbm

arpd needs to have the berkeleydb development libraries. For Debian
users this is the package with a name like libdbX.X-dev.
DBM_INCLUDE points to the directory with db_185.h which
is the include file used by arpd to get to the old format Berkeley
database routines.  Often this is in the db-devel package.

2. make

The makefile will automatically build a config.mk file which
contains definitions of libraries that may or may not be available
on the system such as: ATM, ELF, MNL, and SELINUX.

3. include/uapi

This package includes matching sanitized kernel headers because
the build environment may not have up to date versions. See Makefile
if you have special requirements and need to point at different
kernel include files.

Stephen Hemminger
stephen@networkplumber.org

Alexey Kuznetsov
kuznet@ms2.inr.ac.ru