Hi, Knight
Thank you very much for your reply!
I check our codes, my application config the 1 RX queue for vmxnet3 device, so the call
vmxnet3_v4_rss_configure() will failed due to the single RX queue.
I adjusted our codes and use 2 RX queue for vmxnet3 device, then retest my application aga in. Now my application works fine and here are some debug logs.
[2025-04-18 07:37:02]:: Try to configure port 0,
RX Queue Number: 2, TX Queue Number: 1 Dev 0^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:310:init_options():DPDK interface (net_vmxnet3): 0^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:312:init_options(): multicast_en: 1^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:313:init_options(): num_rx_desc: 4096^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:314:init_options(): num_tx_desc: 512^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:315:init_options(): rx_drop_en: 0^M^M
[2025-04-18 07:37:02]:: odp_packet_io.c:439:odp_pktio_open():interface: 0, driver: dpdk^M^M
[2025-04-18 07:37:02]:: created pktio 1 idx( 0) (0)^M^M
[2025-04-18 07:37:02]:: ### starting data port pktio's...^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:2277:dpdk_setup_eth_tx():Mapping per TX queue statistics not supported: -95^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:2281:dpdk_setup_eth_tx():Mapped 0/16 TX counters^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:2315:dpdk_setup_eth_rx():Mapping per RX queue statistics not supported: -95^M^M
[2025-04-18 07:37:02]:: pktio/dpdk.c:2319:dpdk_setup_eth_rx():Mapped 0/16 RX counters^M^M
[2025-04-18 07:37:02]:: --[vmxnet3_dev_start:963] hw->version: 6, rss_hf: 3380 --^M^M
[2025-04-18 07:37:02]:: --[vmxnet3_rss_configure:1430] rss_hf: 3380 --^M^M
[2025-04-18 07:37:02]:: --[vmxnet3_v4_rss_configure:1381] rss_hf: 3380 --^M^M
[2025-04-18 07:37:02]:: odp_packet_io.c:723:odp_pktio_start():interface: 0, input queues: 2, output queues: 1^M^M
[2025-04-18 07:37:03]:: pktio port 0 dpdk port 0 started!^M^M
So the next step we need to modify our codes, it will not config the RSS when the device RX queue number is 1
Thank you for your advise again and best wish to you!
From: Knight, Joshua <Joshua.Knight@netscout.com>
Sent: Wednesday, April 16, 2025 9:59 PM
To: Fangyin Hu <FHu@SonicWall.com>; users@dpdk.org
Subject: Re: VMware run the DPDK with vmxnet3 NIC failed with the RSS config
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the
content is safe.
We’ve hit the same problem setting up RSS on vmxnet3 on newer esxi8 releases. In our case we would see the failure if we only had a single rx queue.
Snippet from my discussion with their support team:
> So to summarize, with VM Hardware version 14 in esxi 7 and 6.7, setting the RSS hash function did not generate an error in the driver. With VM Hardware version 14 in esxi 8U2, it generates an error in the driver.
I had a ticket opened with Broadcom and their response was they made a change in behavior where instead of silently rejecting the RSS configuration (since, really you don’t need RSS with a single queue although
we still wanted it enabled) the nic now returns an error. The biggest problem I had with the change is they applied it to *earlier* vm hw versions, not just the latest/newest version.
Broadcom’s response to my ticket was:
>Regarding the difference in behavior you have observed with ESXi versions, there were some enhancements introduced in vSphere version 7.0U1 used along with VM hardware version
>=14, it identifies the RSS misconfiguration with Rx Queue and throws an error message similar to what has been observed. In older versions, it was not erroring out so you will not observe any failures in the applications.