[v3] net/vmxnet3: fix a missing vmxnet3 register command

Message ID 20240422181050.9661-1-ronak.doshi@broadcom.com (mailing list archive)
State Accepted
Delegated to: Ferruh Yigit
Headers
Series [v3] net/vmxnet3: fix a missing vmxnet3 register command |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/github-robot: build success github build: passed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS

Commit Message

Ronak Doshi April 22, 2024, 6:10 p.m. UTC
  Vmxnet3 uses capability registers to advertise the supported
capabilities of UPT device. It uses DCR0_REG command register
for this purpose. However, the register command enum misses
one command which technically is not used by dpdk vmxnet3
driver yet. This can cause issue for commands added later.
For example, DCR0_REG and MAX_CAPABILITIES register commands
when issued will lead to incorrect command being executed in
the hypervisor. The return values can be unexpected and can
result in some capabilities being disabled and affect vnics
requesting Uniform Passthroguh (UPT) mode.

This patch fixes this issue by adding a reserved
command in its place.

Fixes: 5241d61bd865 ("net/vmxnet3: support capability registers")
Cc: stable@dpdk.org

Signed-off-by: Ronak Doshi <ronak.doshi@broadcom.com>
--
Change log
 v2: fixed typo
 v3: updated commit message with more information
---
 drivers/net/vmxnet3/base/vmxnet3_defs.h | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Ferruh Yigit April 26, 2024, 1:51 p.m. UTC | #1
On 4/22/2024 7:10 PM, Ronak Doshi wrote:
> Vmxnet3 uses capability registers to advertise the supported
> capabilities of UPT device. It uses DCR0_REG command register
> for this purpose. However, the register command enum misses
> one command which technically is not used by dpdk vmxnet3
> driver yet. This can cause issue for commands added later.
> For example, DCR0_REG and MAX_CAPABILITIES register commands
> when issued will lead to incorrect command being executed in
> the hypervisor. The return values can be unexpected and can
> result in some capabilities being disabled and affect vnics
> requesting Uniform Passthroguh (UPT) mode.
> 
> This patch fixes this issue by adding a reserved
> command in its place.
> 
> Fixes: 5241d61bd865 ("net/vmxnet3: support capability registers")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ronak Doshi <ronak.doshi@broadcom.com>
>

Applied to dpdk-next-net/main, thanks.
  
Ferruh Yigit April 26, 2024, 1:55 p.m. UTC | #2
On 4/26/2024 2:51 PM, Ferruh Yigit wrote:
> On 4/22/2024 7:10 PM, Ronak Doshi wrote:
>> Vmxnet3 uses capability registers to advertise the supported
>> capabilities of UPT device. It uses DCR0_REG command register
>> for this purpose. However, the register command enum misses
>> one command which technically is not used by dpdk vmxnet3
>> driver yet. This can cause issue for commands added later.
>> For example, DCR0_REG and MAX_CAPABILITIES register commands
>> when issued will lead to incorrect command being executed in
>> the hypervisor. The return values can be unexpected and can
>> result in some capabilities being disabled and affect vnics
>> requesting Uniform Passthroguh (UPT) mode.
>>
>> This patch fixes this issue by adding a reserved
>> command in its place.
>>
>> Fixes: 5241d61bd865 ("net/vmxnet3: support capability registers")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Ronak Doshi <ronak.doshi@broadcom.com>
>>
> 
> Applied to dpdk-next-net/main, thanks.
>

Hi Jochen, Ajit,

Independent from this patch.

Do you want to handle this driver in the next-net-brcm tree?

If so a maintainers file update and update to CI & patchwork script
required to select correct tree for driver.
  

Patch

diff --git a/drivers/net/vmxnet3/base/vmxnet3_defs.h b/drivers/net/vmxnet3/base/vmxnet3_defs.h
index 24c235876e..a6bb281d8d 100644
--- a/drivers/net/vmxnet3/base/vmxnet3_defs.h
+++ b/drivers/net/vmxnet3/base/vmxnet3_defs.h
@@ -126,6 +126,7 @@  typedef enum {
    VMXNET3_CMD_RESERVED7,
    VMXNET3_CMD_RESERVED8,
    VMXNET3_CMD_GET_MAX_QUEUES_CONF,
+   VMXNET3_CMD_RESERVED11,
    VMXNET3_CMD_GET_MAX_CAPABILITIES,
    VMXNET3_CMD_GET_DCR0_REG,
 } Vmxnet3_Cmd;