Networking DOCA SDK Documentation

Virtio-net Service Guide Release Notes

The following subsections provide information on virtio-net service new features, interoperability, known issues, and bug fixes.

Changes and New Features in This Release

Title

Description

List Loaded Controller Configuration

The controller can now list the settings currently loaded from virtnet.conf.

Host Driver Bind and Unbind During Live Update

Host driver bind and unbind are now supported during live updates with virtio-net update -s. The controller pauses the emulator before the emulator process restarts to avoid interrupting in-flight commands. A recovery watchdog handles cases in which the command and health services do not resume. Use -f or --force to bypass the handshake and force an immediate update.

Bug Fixes

Ref #

Issue Details

5191525

Description: On the virtio-net DPA transmit path, packets batched into a single multi-packet work queue entry used the checksum-offload setting from the first packet. If a batch mixed packets that required hardware checksum offload with packets that the guest had already checksummed, packets that required hardware offload were transmitted with incomplete checksums.

Detected in Version: 24.10.52.1

5176674

Description: The event subscriber now stops retrying when a NATS broker URL is invalid and reports the configuration error.

Detected in Version: v26.07.8

5172846

Description: The controller now validates recovered SF paths against the current SF number and recreates stale entries. This prevents VF SF initialization failures after switching the sf_recovery_shm path back to its default.

Detected in Version: v26.07.8-2-g13041d79-dirty

5166167

Description: On Ubuntu 24.04, creating an SF port no longer fails with a File exists error (EEXIST) after using sf_pool_force_destroy.

Detected in Version: v26.07.8

5155365

Description: VF MSI-X configuration now accepts odd values that match the firmware configuration.

Detected in Version: v26.07.7-2-gf9cd9979-dirty

5150787

Description: Hotplug, unplug, and modify requests during a live update are now rejected with a retryable error until the update completes.

Detected in Version: v26.07.6

5105457

Description: The vfs_per_pf configuration value now rejects values below the valid lower bound.

Detected in Version: v26.07.3-1-g8ab0f88e-dirty

5017732

Description: Packed virtqueues now process complete descriptor chains, preventing transmit-ring state corruption and potential connectivity loss.

Detected in Version: v26.04.5

4999933

Description: Drop-counter queries are now synchronized with concurrent enable and disable operations, preventing access to invalid counter state during configuration changes.

Detected in Version: 26.04.5

4995698

Description: Running virtnet list while the controller restarts no longer causes a device-close timeout.

Detected in Version: v26.04.4

4992806

Description: Dynamic Interrupt Moderation teardown now waits for DPA execution units to stop accessing its data structures, preventing a use-after-free that could crash the DPA application.

Detected in Version: v26.04.4

4964304

Description: When the controller encounters an RX descriptor address of zero, it now reports the transmit error and rolls back the send queue state, preventing the DPA transmit process from hanging.

Detected in Version: 26.04.1-1

4627124

Description: A virtio-net VF now enters transitional mode after its guest loads a legacy driver. Previously, the VF could remain in modern mode.

Detected in Version: v25.10.1

Known Issues

The following are known limitations of this NVIDIA® BlueField® virtio-net software version.

Ref #

Issue Details

4849313

Description: Creating a hotplug device can show an outdated sf_rep_net_device name in the command output.

Workaround: Run virtnet query to view the current sf_rep_net_device name.

Keyword: Hotplug; sf_rep_net_device

Reported in Version: 26.07

5013051

Description: Following a NATS broker restart, the virtio-net-controller relies on lazy reconnection. Consequently, the first event generated while disconnected is lost. However, this dropped event triggers a successful reconnection, allowing all subsequent events to be delivered normally.

Workaround: N/A

Keyword: LM; vnet_event

Reported in version: 26.04

4898379

Description: Manually issuing inactive and active state commands (e.g., via devlink) on a SF is not supported while the virtio-net controller is active. Executing these state changes abruptly tears down the underlying firmware and hardware resources without properly notifying the controller. This causes an immediate loss of traffic for all connections associated with the SF, and the system cannot automatically recover from this state.

Workaround: Avoid manually toggling SF states while the virtio-net controller is running. If an SF is inadvertently toggled and traffic drops, you must perform a full manual reinitialization of both the affected SF and the controller to restore network connectivity.

Keyword: Scalable function; recovery

Reported in version: 26.04

4961952

Description: If the virtio-net controller is restarted during an active vDPA live migration, transient RQT modify errors (e.g., "Remote I/O error") may appear in the system logs on the migration source VF. These error messages are strictly cosmetic and have no functional impact.

Workaround: N/A

Keyword: Live migration; vDPA

Reported in version: 26.04

4914672

Description: During rapid, repeated virtual machine stress testing (e.g., executing virsh destroy followed by virsh start), Windows VMs may appear unresponsive or fail to answer network pings.

Workaround: Increase the boot wait time in your automation scripts to a minimum of 200 seconds to provide the Windows VM sufficient time to fully complete its crash recovery, finish the boot process, and initialize its virtio-net interfaces before network connectivity is verified.

Keyword: Windows VM; reboot

Reported in version: 26.04

4914672

Description: CentOS 7 virtual machines running older kernels (specifically kernel 3.10) may experience a transient soft lockup in virtnet_send_command when the virtio-net controller undergoes rapid, successive restarts. During this event, the system may report that the CPU is stuck for approximately 22 seconds. This behavior is isolated to older kernel versions; VMs running newer kernels, such as modern Ubuntu or Windows releases, are unaffected.

Workaround: N/A

Keyword: Kernel 3.10.0; CentOS 7; lockup

Reported in version: 26.04

4797496

Description: Virtio-net does not support Packed Virtqueues ("packed_vq": 1) in the following scenarios:

  • It is not supported on any VF configured for live migration.

  • It is not supported on any PF that has the Admin Queue (AQ) enabled.

Workaround: Explicitly disable Packed VQs by setting "packed_vq": 0 in the virtnet.conf configuration file for any PFs using AQs or VFs intended for live migration. Use the default Split VQ (split_vq) mode instead.

Keyword: VQ; live migration

Reported in version: 25.10

4498529

Description: Windows VM may take a lot of time to load when VLAN tagging is enabled.

Workaround: Disable VLAN tagging.

Keyword: Windows; VLAN

Reported in version: 25.10

4534273

Description: After installing a new version, virtnet -v or --version displays the version of the updated CLI, not the source or target upgrade versions.

Workaround: Run virtnet version to view both the original and destination versions.

Keyword: CLI; version; update

Reported in version: 25.07

3879093

Description: When creating a large number of virtio-net VFs, the representor name of the SF may not be renamed.

Workaround: Use the ip command to rename the representor manually.

Keyword: Representor

Reported in version: 24.10

3943905

Description: Host OS kernel <3.19 does not support 31 hotplug devices.

Workaround: Avoid hotplugging more than 20 devices if host OS kernel is <3.19, or upgrade the kernel to ≥3.19.

Keyword: Host OS; kernel; hotplug

Reported in version: 24.07

4022160

Description: Feature bit VIRTIO_NET_F_CTRL_VLAN is not supported. Enabling it from the hotplug device may results in anomalous behavior.

Workaround: Disable VIRTIO_NET_F_CTRL_VLAN.

Keyword: Feature bit

Reported in version: 24.07

4001261

Description: The virtnet.conf file does not check invalid values such as negative numbers or 0.

Workaround: N/A

Keyword: Virtnet; config; invalid value

Reported in version: 24.07

3965598

Description: Admin-VQ-based transitional VF show a vf_get error when the controller is restarted. However, VF functionality is not affected.

Workaround: N/A

Keyword: Admin VQ; transitional device

Reported in version: 24.07

3961951

Description: Out-of-memory call trace occurs when creating many (>300) VFs on a BlueField running OpenEuler or CentOS 7.6.

Workaround: Update the kernel to support shared RQ.

Keyword: OOM; OpenEuler; CentOS 7.6; virtual function

Reported in version: 24.07

3862683

Description: Creating VFs and hotplug PFs in parallel can lead to controller crash.

Workaround: Create VFs followed by hotplug PF or vice versa.

Keyword: Virtio-net emulation

Reported in version: 1.9.0

3665070

Description: Virtio-net controller fails to load if DPA_AUTHENTICATION is enabled.

Workaround: N/A

Keywords: Virtio-net; DPA

Reported in version: DOCA 2.5.0

3538486

Description: When removing LAG configuration from BlueField, a kernel warning for uverbs_destroy_ufile_hw is observed if virtio-net-controller is still running.

Workaround: Stop virtio-net-controller service before cleaning up bond configuration.

Keywords: Virtio-net; LAG

Reported in version: DOCA 2.2.0

3683801

Description: Starting from kernel 5.14, the virtio-net TX path has a logic which may trigger infinite loop when vq is broken (e.g., device is removed) under heavy traffic.

Workaround: N/A

Keyword: Virtio-net

Reported in version: DOCA 1.8.0

3714522

Description: When creating/destroying VFs back to back, make sure the virtio-net controller side does not see any alive VF before recreating them from the guest OS (i.e., virtnet query).

Workaround: N/A

Keyword: Virtio-net; VFs

Reported in version: DOCA 1.8.0

3694402

Description: When restarting the virtio-net-controller from the DPU while the guest OS is booting, the guest OS may see kernel call trace while the controller is preparing the device. It recovers once the controller starts.

Workaround: N/A

Keyword: Virtio-net; hotplug; restart

Reported in version: DOCA 1.8.0

3633453

Description: Jumbo MTU is only supported on a guest OS with kernel 4.11 and above.

Workaround: N/A

Keyword: Virtio-net; jumbo MTU

Reported in version: DOCA 1.7.0

3021967

Description: When rebooting a DPU with a large number of VFs created on host, VF recovery may fail due to timeout.

Workaround: Restart the driver on the host after the DPU is up.

Keyword: Reboot; VFs

Reported in version: DOCA 1.7.0

3232444

Description: After live migration of virtio-net devices using the VFE driver, the max_queues_size output from the virtnet list may be wrong. This does not affect the actual value.

Workaround: N/A

Keywords: Virtio-net; live migration

Reported in version: DOCA 1.4.0

2801780

Description: When running virtio-net-controller with host kernel older than 3.10.0-1160.el7, host virtio driver may get error (Unexpected TXQ (13) queue failure: -28) from dmesg in traffic stress test.

Workaround: N/A

Keywords: Virtio-net; error

Reported in version: DOCA 1.2.0

2870213

Description: Servers do not recover after configuring PCI_SWITCH_EMULATION_NUM_PORT to 32 followed by power cycle.

Workaround: Clear NVRAM and reset mlxconfig to default

Keywords: Virtio-net; power cycle

Reported in version: DOCA 1.2.0

2685191

Description: Once virtio-net is enabled, the mlx5 Windows VF becomes unavailable.

Workaround: N/A

Keywords: Virtio-net; virtual function; WinOF-2

Reported in version: DOCA 1.2.0

2702395

Description: When a device is hot-plugged from the virtio-net controller, the host OS may hang when warm reboot is performed on the host and Arm at the same time.

Workaround: Reboot the host OS first and only then reboot DPU.

Keywords: Virtio-net controller; hot-plug; reboot

Reported in version: DOCA 1.2.0

Last updated: