It may be observed that jumbo frames are not working under the following conditions, and OSPF may also have issues establishing.
When trying to ping out from the SRX specifying a jumbo size, as well as do-not-fragment, the ping fails without any explanation. However a ping that does not specify a size does work.
root@vsrx> ping 10.0.0.2 size 6000 do-not-fragment
PING 8.8.8.8 (8.8.8.8): 6000 data bytes
^C
--- 10.0.0.2 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
OSPF and/or OSPF3 may also not come up.
The solution is that the MTU must also be specified within the hypervisor on the physical card. Otherwise it is dropped at the hypervisor/NIC level.
When you check the interfaces on the hypervisor, you will see something similar to the following:
root@PVE:~# lspci | grep Ether
<...>
8b:00.0 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx]
8b:00.1 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx]
8b:00.2 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function
8b:00.3 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function
8b:01.2 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function
8b:01.3 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function
root@PVE:~# ip link
5: ens6f0np0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 50:00:e6:1c:bd:f8 brd ff:ff:ff:ff:ff:ff
vf 0 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
vf 1 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
7: ens6f1np1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 50:00:e6:1c:bd:f9 brd ff:ff:ff:ff:ff:ff
The solution is to set the MTU on the physical port in the hypervisor:
root@PVE:~# ip link set dev ens6f0np0 mtu 9192
root@PVE:~# ip link set dev ens6f1np1 mtu 9192
5: ens6f0np0: <BROADCAST,MULTICAST> mtu 9192 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 50:00:e6:1c:bd:f8 brd ff:ff:ff:ff:ff:ff vf 0 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off vf 1 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off7: ens6f1np1: <BROADCAST,MULTICAST> mtu 9192 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 50:00:e6:1c:bd:f9 brd ff:ff:ff:ff:ff:ff vf 0 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off vf 1 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off
PING 10.0.0.2 (10.0.0.2): 6000 data bytes
6008 bytes from 10.0.0.2: icmp_seq=0 ttl=64 time=15.183 ms
6008 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=2.186 ms
6008 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=2.893 ms
6008 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=3.202 ms
Note:
If the MTU is set incorrectly on the vSRX, it will state this in the ping output as Junos will know its own MTU is too low:
ping: sendto: Message too long