Jumbo MTU
Jumbo MTU is critical for increasing the efficiency of Ethernet and network processing by reducing the protocol overhead (ratio of headers and payload size).
To support jumbo MTU run the following virtnet command:
            
            [dpu]# virtnet modify -p 0 -v 0 device -t 9216
    
The example sets the MTU to 9126 for VF 0 on PF 0.
Jumbo MTU is only supported starting from the following version:
| Release | |
| Upstream | VM kernel: 4.18.0-193.el8.x86_64 ( VM Linux version supports big MTU after 4.11 ) | 
| Ubuntu | DOCA_2.5.0_BSP_4.5.0_Ubuntu_22.04 | 
| Virtnet controller | v1.7 or v1.6.26 | 
To configure jumbo MTU (e.g., using VF 0 on PF 0):
- Change the MTU of the uplink and SF representor from the BlueField: - [dpu]# ifconfig p0 mtu 9216 [dpu]# ifconfig en3f0pf0sf3000 mtu 9216 - If a bond is configured, change the MTU of the bond rather than - p0:- [dpu]# ifconfig bond0 mtu - 9216[dpu]# ifconfig en3f0pf0sf3000 mtu- 9216
- Restart the virtio-net-controller from the BlueField: - [dpu]# systemctl restart virtio-net-controller 
- Unload the virtio driver from the host OS: - [host]# modprobe -rv virtio-net 
- Change the corresponding device MTU on the BlueField: - [dpu]# virtnet modify -p 0 -v 0 device -t 9216 
- Reload virtio driver from the host OS: - [host]# modprobe -v virtio-net 
- Check virtqueue MTU configuration is correct on the BlueField: - [dpu]# virtnet query -p 0 -v 0 --dbg_stats | grep jumbo_mtu "jumbo_mtu": 1 "jumbo_mtu": 1 
- Change the MTU of virtio-net interface from the host OS: - [host]# ifconfig <vnet> mtu 9216