NVIDIA BlueField Virtio-net v24.07
NVIDIA BlueField Virtio-net v24.07

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:

Copy
Copied!
            

[dpu]# virtnet modify -p 0 -v 0 device -t 9216

Info

The example sets the MTU to 9126 for VF 0 on PF 0.

Jumbo MTU is only supported starting from the following kernel 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):

  1. Change the MTU of the uplink and SF representor from the BlueField:

    Copy
    Copied!
                

    [dpu]# ifconfig p0 mtu 9216 [dpu]# ifconfig en3f0pf0sf3000 mtu 9216

    If a bond is configured, change the MTU of the bond rather than p0:

    Copy
    Copied!
                

    [dpu]# ifconfig bond0 mtu 9216 [dpu]# ifconfig en3f0pf0sf3000 mtu 9216

  2. Restart the virtio-net-controller from the BlueField:

    Copy
    Copied!
                

    [dpu]# systemctl restart virtio-net-controller

  3. Change the corresponding device MTU on the BlueField:

    Copy
    Copied!
                

    [dpu]# virtnet modify -p 0 -v 0 device -t 9216

  4. Reload virtio driver from the host OS:

    Copy
    Copied!
                

    [host]# modprobe -rv virtio-net && modprobe -v virtio-net

  5. Check virtqueue MTU configuration is correct on the BlueField:

    Copy
    Copied!
                

    [dpu]# virtnet query -p 0 -v 0 --dbg_stats | grep jumbo_mtu     "jumbo_mtu": 1     "jumbo_mtu": 1

  6. Change the MTU of virtio-net interface from the host OS:

    Copy
    Copied!
                

    [host]# ifconfig <vnet> mtu 9216

© Copyright 2024, NVIDIA. Last updated on Aug 14, 2024.