- # MTU (only checked on encap)
- rv = self.vapi.sw_interface_set_mtu(sw_if_index, 576)
- rv = self.vapi.sw_interface_dump()
- for i in rv:
- if i.sw_if_index == sw_if_index:
- self.assertEqual(i.mtu, 576)
- break
-
- # Should fail. Too large MTU
- p4.flags = 'DF'
- p_icmp4 = ICMP(type='dest-unreach', code='fragmentation-needed',
- nexthopmtu=576, chksum=0xb6c7)
- icmp4_reply = (IP(src=self.pg0.local_ip4,
- dst=self.pg0.remote_ip4,
- ttl=254, len=576, id=0) /
- p_icmp4 / p_ip4 / p_payload)
- icmp4_reply[1].flags = 'DF'
- n = icmp4_reply.__class__(str(icmp4_reply))
- s = str(icmp4_reply)
- icmp4_reply = s[0:576]
- rx = self.send_and_expect(self.pg0, p4*9, self.pg0)
- for p in rx:
- self.validate_bytes(str(p[1]), icmp4_reply)
-
- # Reset MTU
- rv = self.vapi.sw_interface_set_mtu(sw_if_index, 1480)
-