<div dir="ltr"><br>I hit the same issue, and it was brute force.  The first version of VMXNET3 is something that <br>has never been exposed directly.  (It is implicit and based on the <span style="color:rgb(33,33,33);font-size:14.6667px">VM Hardware version</span><span style="color:rgb(33,33,33);font-size:14.6667px">.</span>A) <br>You can adjust it in the VM advanced settings. It makes sense to indicate exactly which flag must be in the VM.<br>(Why? Sometimes, downgrading the VM Hardware version is not an option. ) While downgrading, the VMXNET3 version will run in compatibility mode.<br>(I.e., DPDK version old, nic new, RSS must X, etc, etc) There are a few combinations where <br>You can not assume a single queue, or take a four-queue, or assume a 32-queue.  (This combination depends on <br><br>Combination<br>NIC - VM - ESXi - DPDK version<br><br>So, asking a client to do four variations and find a combination is not a good option.<br>(Note in kernel driver it's the same,  you can use 32, but you have no idea how to enable the VMXNET3 version that will allow you to use 32 queues) <br><br>Example.<br><br>You have 810 - VMXNET 3 poll mode and enable 16 queues.  What do you do?<br>You have 810 - VMXNET 3 (the default queue in RSS 4). What do you do? --- This will fail on 23/24/25.<br>You have 801 - VMXNET 3 - ESXi 8.0.2 and DPDK 22.xx app ( example people use trex it build 22 or 23)<div><br>I just gave a few examples.  <br><br>Kind Regards,<br>Mus<br><div><br></div></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Apr 19, 2025 at 11:15 AM Fangyin Hu <<a href="mailto:FHu@sonicwall.com">FHu@sonicwall.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-7072844246104021192">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="m_-7072844246104021192WordSection1">
<p class="MsoNormal"><span style="font-size:11pt">Hi, Knight<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">Thank you very much for your reply!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">I check our codes, my application config the 1 RX queue for vmxnet3 device, so the call
</span><span style="font-size:11pt">vmxnet3_v4_rss_configure() will failed due to the single RX queue.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: Try to configure port 0,
<b>RX Queue Number: 2</b>, TX Queue Number: 1 Dev 0^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:310:init_options():DPDK interface (net_vmxnet3): 0^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:312:init_options():  multicast_en: 1^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:313:init_options():  num_rx_desc: 4096^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:314:init_options():  num_tx_desc: 512^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:315:init_options():  rx_drop_en: 0^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: odp_packet_io.c:439:odp_pktio_open():interface: 0, driver: dpdk^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: created pktio 1 idx( 0) (0)^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: ### starting data port pktio's...^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:2277:dpdk_setup_eth_tx():Mapping per TX queue statistics not supported: -95^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:2281:dpdk_setup_eth_tx():Mapped 0/16 TX counters^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:2315:dpdk_setup_eth_rx():Mapping per RX queue statistics not supported: -95^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: pktio/dpdk.c:2319:dpdk_setup_eth_rx():Mapped 0/16 RX counters^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: --[vmxnet3_dev_start:963] hw->version: 6, rss_hf: 3380 --^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: --[vmxnet3_rss_configure:1430] rss_hf: 3380 --^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: --[vmxnet3_v4_rss_configure:1381] rss_hf: 3380 --^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:02]:: odp_packet_io.c:723:odp_pktio_start():interface: 0, input queues: 2, output queues: 1^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-18 07:37:03]:: pktio port 0 dpdk port 0 started!^M^M<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">So the next step we need to modify our codes, it will not config the RSS when the device RX queue number is 1<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">Thank you for your advise again and best wish to you!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Knight, Joshua <<a href="mailto:Joshua.Knight@netscout.com" target="_blank">Joshua.Knight@netscout.com</a>>
<br>
<b>Sent:</b> Wednesday, April 16, 2025 9:59 PM<br>
<b>To:</b> Fangyin Hu <FHu@SonicWall.com>; <a href="mailto:users@dpdk.org" target="_blank">users@dpdk.org</a><br>
<b>Subject:</b> Re: VMware run the DPDK with vmxnet3 NIC failed with the RSS config<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div style="border:1pt solid rgb(0,51,51);padding:2pt">
<div>
<p class="MsoNormal" style="background:rgb(255,250,148)"><b><span style="font-family:Calibri,sans-serif;color:black">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.</span></b><b><span style="font-family:Calibri,sans-serif"><u></u><u></u></span></b></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12pt"><span style="font-size:12pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11pt">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.<br>
<br>
Snippet from my discussion with their support team:<br>
<span style="color:rgb(33,33,33)">> 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.</span><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">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 *<b>earlier</b>* vm hw versions, not just the latest/newest version.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">Broadcom’s response to my ticket was:<br>
<br>
></span><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(33,33,33)">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. <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(33,33,33)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<div id="m_-7072844246104021192mail-editor-reference-message-container">
<div>
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal" style="margin-bottom:12pt"><b><span style="font-size:12pt;color:black">From:
</span></b><span style="font-size:12pt;color:black">Fangyin Hu <</span><a href="mailto:FHu@SonicWall.com" target="_blank"><span style="font-size:12pt">FHu@SonicWall.com</span></a><span style="font-size:12pt;color:black">><br>
<b>Date: </b>Wednesday, April 16, 2025 at 4:23</span><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> </span><span style="font-size:12pt;color:black">AM<br>
<b>To: </b></span><a href="mailto:users@dpdk.org" target="_blank"><span style="font-size:12pt">users@dpdk.org</span></a><span style="font-size:12pt;color:black"> <</span><a href="mailto:users@dpdk.org" target="_blank"><span style="font-size:12pt">users@dpdk.org</span></a><span style="font-size:12pt;color:black">><br>
<b>Subject: </b>VMware run the DPDK with vmxnet3 NIC failed with the RSS config<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11pt">Hi</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">My application developed with the DPDK, we found out one error message when my application run in the VMware platform.</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-15 03:01:09]:: --[vmxnet3_dev_start:961] hw->version: 6, rss_hf: 3380 --^M^M</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-15 03:01:09]:: --[vmxnet3_rss_configure:1434] rss_hf: 3380 --^M^M</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-15 03:01:09]:: --[vmxnet3_v4_rss_configure:1381] rss_hf: 3380 --^M^M</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-15 03:01:09]:: vmxnet3_v4_rss_configure(): Set RSS fields (v4) failed: 1^M^M</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">[2025-04-15 03:01:09]:: vmxnet3_dev_start(): Failed to configure v4 RSS^M^M</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">From the debug logs, it seems that the vmxnet3 device failed to configure the v4 RSS.</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">We can found these informations from the DPDK’s code snippet:</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">rss_hf = 3380 = 0xd34</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">So the RSS configure is this:</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">#define VMXNET3_RSS_OFFLOAD_ALL ( \</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    RTE_ETH_RSS_IPV4 | \</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    RTE_ETH_RSS_NONFRAG_IPV4_TCP | \</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    RTE_ETH_RSS_IPV6 | \</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    RTE_ETH_RSS_NONFRAG_IPV6_TCP)</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">#define VMXNET3_V4_RSS_MASK ( \</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    RTE_ETH_RSS_NONFRAG_IPV4_UDP | \</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:9pt"><span style="font-size:11pt">RTE_ETH_RSS_NONFRAG_IPV6_UDP)</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:9pt"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">The function call vmxnet3_rss_configure() is works fine but the function call vmxnet3_v4_rss_configure() failed:</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    if (VMXNET3_VERSION_GE_4(hw) &&</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        dev->data->dev_conf.rxmode.mq_mode == RTE_ETH_MQ_RX_RSS) {</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        /* Check for additional RSS  */</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        ret = vmxnet3_v4_rss_configure(dev);</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        if (ret != VMXNET3_SUCCESS) {</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">            PMD_INIT_LOG(ERR, "<span style="color:red">Failed to configure v4 RSS</span>");</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">            return ret;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        }</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:9pt"><span style="font-size:11pt">}</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">/*</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">* Additional RSS configurations based on vmxnet v4+ APIs</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">*/</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">int</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">vmxnet3_v4_rss_configure(struct rte_eth_dev *dev)</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">{</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    struct vmxnet3_hw *hw = dev->data->dev_private;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    Vmxnet3_DriverShared *shared = hw->shared;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    Vmxnet3_CmdInfo *cmdInfo = &shared->cu.cmdInfo;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    struct rte_eth_rss_conf *port_rss_conf;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    uint64_t rss_hf;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    uint32_t ret;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    PMD_INIT_FUNC_TRACE();</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    cmdInfo->setRSSFields = 0;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    port_rss_conf = &dev->data->dev_conf.rx_adv_conf.rss_conf;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    printf("--[%s:%d] rss_hf: %llu --\n", __FUNCTION__, __LINE__, port_rss_conf->rss_hf);</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    if ((port_rss_conf->rss_hf & VMXNET3_MANDATORY_V4_RSS) !=</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        VMXNET3_MANDATORY_V4_RSS) {</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        PMD_INIT_LOG(WARNING, "RSS: IPv4/6 TCP is required for vmxnet3 v4 RSS,"</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">                 "automatically setting it");</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        port_rss_conf->rss_hf |= VMXNET3_MANDATORY_V4_RSS;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    }</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    rss_hf = port_rss_conf->rss_hf &</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        (VMXNET3_V4_RSS_MASK | VMXNET3_RSS_OFFLOAD_ALL);</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    if (rss_hf & RTE_ETH_RSS_NONFRAG_IPV4_TCP)</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        cmdInfo->setRSSFields |= VMXNET3_RSS_FIELDS_TCPIP4;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    if (rss_hf & RTE_ETH_RSS_NONFRAG_IPV6_TCP)</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        cmdInfo->setRSSFields |= VMXNET3_RSS_FIELDS_TCPIP6;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    if (rss_hf & RTE_ETH_RSS_NONFRAG_IPV4_UDP)</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        cmdInfo->setRSSFields |= VMXNET3_RSS_FIELDS_UDPIP4;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    if (rss_hf & RTE_ETH_RSS_NONFRAG_IPV6_UDP)</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        cmdInfo->setRSSFields |= VMXNET3_RSS_FIELDS_UDPIP6;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    <span style="color:red">VMXNET3_WRITE_BAR1_REG</span>(hw, VMXNET3_REG_CMD,</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">                   VMXNET3_CMD_SET_RSS_FIELDS);</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    ret = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_CMD);</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    if (ret != VMXNET3_SUCCESS) {</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">        PMD_DRV_LOG(ERR, "<span style="color:red">Set RSS fields (v4) failed: %d</span>", ret);</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">    }</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:9pt"><span style="font-size:11pt">return ret;</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">}</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">It seems like the VMXNET3_WRITE_BAR1_REG failed, but don’t know why this happened.</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">My DPDK version is 22.11.1 and the vmxnet3 driver version is 1.6.0.0-k-NAPI</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">BTW we just upgraded VM compatibility to
<b>ESXi 8.0 U2 and later (VM version 21), </b>then our application run with this error logs.</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">The previous VM compatibility is
<b>ESXi 6.5 and later (VM version 13),</b> and our application works fine. It is because the vmxnet3 hw version is 3, so it will not trigger to call the V4 RSS configure.</span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><span style="font-size:12pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">Could someone help to check this issue? Or maybe I missed something?</span><span style="font-size:12pt"><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

</div></blockquote></div>