ip: Path MTU 35/30535/25
authorNeale Ranns <neale@graphiant.com>
Mon, 21 Dec 2020 08:29:34 +0000 (08:29 +0000)
committerOle Tr�an <otroan@employees.org>
Mon, 15 Feb 2021 17:27:48 +0000 (17:27 +0000)
commit8f5fef2c78b95de1a636ce27111722b71702212a
treea0ebd0189969ccae1f0bdd7c1a9c18dd7a066f2e
parent54be0cc044f445853fae7b8995c477605250af16
ip: Path MTU

Type: feature

Support setting the MTU for a peer on an interface. The minimum value of
the path and interface MTU is used at forwarding time.

the path MTU is specified for a given peer, by address and table-ID.
In the forwarding plane the MTU is enfored either:
 1 - if the peer is attached, then the MTU is set on the peer's
adjacency
 2 - if the peer is not attached, it is remote, then a DPO is added to
the peer's FIB entry to perform the necessary fragmentation.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I8b9ea6a07868b50e97e2561f18d9335407dea7ae
26 files changed:
src/plugins/unittest/fib_test.c
src/vnet/CMakeLists.txt
src/vnet/adj/adj.c
src/vnet/adj/adj.h
src/vnet/adj/adj_glean.c
src/vnet/adj/adj_internal.h
src/vnet/adj/adj_mcast.c
src/vnet/adj/adj_midchain.c
src/vnet/adj/adj_nbr.c
src/vnet/adj/adj_nbr.h
src/vnet/dpo/dpo.c
src/vnet/dpo/dpo.h
src/vnet/dpo/load_balance.c
src/vnet/dpo/mpls_label_dpo.c
src/vnet/fib/fib_entry.c
src/vnet/fib/fib_node.h
src/vnet/fib/fib_path.c
src/vnet/gre/gre.c
src/vnet/ip/ip.api
src/vnet/ip/ip_api.c
src/vnet/ip/ip_path_mtu.c [new file with mode: 0644]
src/vnet/ip/ip_path_mtu.h [new file with mode: 0644]
src/vnet/ip/ip_path_mtu_node.c [new file with mode: 0644]
test/test_ip4.py
test/test_ip6.py
test/vpp_ip.py