MTU: Software interface / Per-protocol MTU support

This patch separates setting of hardware interfaec and software
interface MTU. Software MTU is L2 payload MTU (i.e. not including L2
header). Per-protocol MTU for IPv4, IPv6 and MPLS can also be set.
Currently only IP4, IP6 are enabled in adjacency / rewrite code.

Documentation in src/vnet/MTU.md

Change-Id: Iee2fd6f0bbc8210748dd8e073ab9fab87d323690
Signed-off-by: Ole Troan <ot@cisco.com>
This commit is contained in:
Ole Troan
2018-06-07 10:17:57 +02:00
committed by Damjan Marion
parent f4fd0d4217
commit d723161e03
33 changed files with 359 additions and 166 deletions

View File

@ -1298,7 +1298,7 @@ class TestIPInput(VppTestCase):
UDP(sport=1234, dport=1234) /
Raw('\xa5' * 2000))
self.vapi.sw_interface_set_mtu(self.pg1.sw_if_index, 1500)
self.vapi.sw_interface_set_mtu(self.pg1.sw_if_index, [1500, 0, 0, 0])
rx = self.send_and_expect(self.pg0, p_mtu * 65, self.pg0)
rx = rx[0]
@ -1310,9 +1310,11 @@ class TestIPInput(VppTestCase):
self.assertEqual(icmp.src, self.pg0.remote_ip4)
self.assertEqual(icmp.dst, self.pg1.remote_ip4)
self.vapi.sw_interface_set_mtu(self.pg1.sw_if_index, 2500)
self.vapi.sw_interface_set_mtu(self.pg1.sw_if_index, [2500, 0, 0, 0])
rx = self.send_and_expect(self.pg0, p_mtu * 65, self.pg1)
# Reset MTU for subsequent tests
self.vapi.sw_interface_set_mtu(self.pg1.sw_if_index, [9000, 0, 0, 0])
if __name__ == '__main__':
unittest.main(testRunner=VppTestRunner)