[PATCH 0/7] net/gve: Tx datapath fixes for GVE DQO

2025-07-07 Thread Joshua Washington
There are a number of consistency errors with the DQO Tx datapath, which this series aims to address. These changes should make the driver much more resilient against edge case and malformed packets overall. Joshua Washington (7): net/gve: send whole packet when mbuf is large net/gve: clean

[PATCH 7/7] net/gve: clear DQO Tx descriptors before writing

2025-07-07 Thread Joshua Washington
misinterpreted by the hardware if not fully cleared. Fixes: 403c671a46b6 ("net/gve: support TSO in DQO RDA") Cc: tathagat.d...@gmail.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Ankit Garg --- drivers/net/gve/gve_tx_dqo.c | 3 +++ 1 file changed, 3 insertions(+) di

[PATCH 6/7] net/gve: fix DQO TSO descriptor limit

2025-07-07 Thread Joshua Washington
GVE_TX_MAX_DATA_DESCS-1 to ensure that the hidden extra prepended descriptor added to the beginning of each segment in the TSO case is accounted for. Fixes: 403c671a46b6 ("net/gve: support TSO in DQO RDA") Cc: tathagat.d...@gmail.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington R

[PATCH 5/7] net/gve: add DQO Tx descriptor limit

2025-07-07 Thread Joshua Washington
om Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Ankit Garg --- drivers/net/gve/gve_ethdev.c | 1 + drivers/net/gve/gve_ethdev.h | 1 + drivers/net/gve/gve_tx_dqo.c | 6 ++ 3 files changed, 8 insertions(+) diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethd

[PATCH 3/7] net/gve: don't write zero-length descriptors

2025-07-07 Thread Joshua Washington
Writing zero-length descriptors to the hardware can cause the hardware to reject that packet and stop transmitting altogether. Fixes: 4022ff56 ("net/gve: support basic Tx data path for DQO") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed

[PATCH 4/7] net/gve: validate Tx packet before sending

2025-07-07 Thread Joshua Washington
formed before processing. Fixes: 4022ff56 ("net/gve: support basic Tx data path for DQO") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Ankit Garg --- drivers/net/gve/gve_tx_dqo.c | 9 - 1 file changed, 8 insertions(+), 1 deletio

[PATCH 2/7] net/gve: clean when there are insufficient Tx descs

2025-07-07 Thread Joshua Washington
increment drop counters. Fixes: 4022ff56 ("net/gve: support basic Tx data path for DQO") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Ankit Garg --- drivers/net/gve/gve_tx_dqo.c | 27 +++ 1 file changed, 19 insert

[PATCH 1/7] net/gve: send whole packet when mbuf is large

2025-07-07 Thread Joshua Washington
.@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Ankit Garg --- .mailmap | 1 + drivers/net/gve/gve_tx_dqo.c | 54 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/.mailmap b/.mailmap index 1ea4f9446d..758878bd8b 10

Re: [PATCH] net/gve: support gve driver on FreeBSD

2025-06-25 Thread Joshua Washington
Acked-by: Joshua Washington

Re: [PATCH] net/gve: remove gve-specific PCI revision ID macros

2025-05-13 Thread Joshua Washington
Patch doesn't apply to the main branch of dpdk-next-net: https://mails.dpdk.org/archives/test-report/2025-May/877522.html It seems like the diffbase patch only exists in the for-main branch. When is for-main expected to be merged into main, and should we be building against for-main or main? Simil

[PATCH] net/gve: remove gve-specific PCI revision ID macros

2025-05-13 Thread Joshua Washington
Commit 5feee68de99e ("pci: define more standard register offsets") adds a generic offset macro for the PCI revision ID, among a number of other standard PCI config fields. Update GVE to make use of these macros instead of defining its own. Signed-off-by: Joshua Washington --- drive

Re: [PATCH] pci: define more standard register offsets

2025-04-17 Thread Joshua Washington
Ah, thanks for adding that support. I can send a follow up patch which takes this into account. Best, Josh

[PATCH] net/gve: support for gVNIC PCI revision 1 and later

2025-04-15 Thread Joshua Washington
reset was triggered by writing 0 to the admin queue PFN. Newer device reivisons set a status flag, instead. Signed-off-by: Joshua Washington Reviewed-by: Ziwei Xiao --- .mailmap| 1 + drivers/net/gve/base/gve.h | 4 ++ drivers/net/gve/base/gve_adminq.c

[PATCH] maintainers: update GVE maintainers

2025-04-15 Thread Joshua Washington
Signed-off-by: Joshua Washington --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 167cc74a15..96e1d4e7a6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -754,7 +754,6 @@ F: doc/guides/nics/features/enic.ini Google Virtual Ethernet M: Jeroen de

Re: [PATCH v4] net/gve: allocate RX QPL pages using malloc

2025-01-09 Thread Joshua Washington
Hello, I wish for this fix to be backported to stable release 22.11 and 23.11 for DPDK. However, the patch as it is does not apply cleanly to either release. What is the recommended way to include this patch in older releases of DPDK? Should I create separate stable backport patches that apply cle

[PATCH v4] net/gve: allocate RX QPL pages using malloc

2025-01-09 Thread Joshua Washington
malloc exclusively v3: Changed commit description to match updated code v4: Add fixes tag to allow 2M hugepages to be used on older versions of DPDK Fixes: a46583cf43c8 ("net/gve: support Rx/Tx") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Praveen Kaligineedi Signed-off-

[PATCH v3] net/gve: allocate RX QPL pages using malloc

2025-01-07 Thread Joshua Washington
Kaligineedi Signed-off-by: Joshua Washington --- drivers/net/gve/gve_ethdev.c | 102 --- drivers/net/gve/gve_ethdev.h | 5 +- drivers/net/gve/gve_rx.c | 2 +- 3 files changed, 89 insertions(+), 20 deletions(-) diff --git a/drivers/net/gve/gve_ethdev.c b/drivers

[PATCH v2] net/gve: Allocate qpl pages using malloc if memzone allocation fails

2024-12-23 Thread Joshua Washington
using memzone fails. Use memzone based allocation for TX since TX queue requires IOVA contiguous QPL memory. Google-Bug-Id: 372857163 Signed-off-by: Praveen Kaligineedi Reviewed-by: Joshua Washington --- drivers/net/gve/gve_ethdev.c | 102 --- drivers/net/gve

[PATCH] net/gve: Allocate qpl pages using malloc if memzone allocation fails

2024-12-23 Thread Joshua Washington
using memzone fails. Signed-off-by: Praveen Kaligineedi Reviewed-by: Joshua Washington --- drivers/net/gve/gve_ethdev.c | 105 ++ drivers/net/gve/gve_ethdev.h | 1 + drivers/net/gve/gve_rx.c | 2 +- 3 files changed, 89 insertions(+), 19 deletions

[PATCH] net/gve: Allocate qpl pages using malloc if memzone allocation fails

2024-12-18 Thread Joshua Washington
using memzone fails. Signed-off-by: Praveen Kaligineedi Reviewed-by: Joshua Washington --- drivers/net/gve/gve_ethdev.c | 105 ++ drivers/net/gve/gve_ethdev.h | 1 + drivers/net/gve/gve_rx.c | 2 +- 3 files changed, 89 insertions(+), 19 deletions

[PATCH] net/gve: replace typedefs with macros in gve osdep

2024-10-17 Thread Joshua Washington
types are not defined already. Fixes: c9ba2caf6302 ("net/gve/base: add OS-specific implementation") Fixes: abf1242fbb84 ("net/gve: add struct members and typedefs for DQO") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Suggested-by: David March

Re: Build issue with Fedora Rawhide

2024-10-17 Thread Joshua Washington
224s] |^~ > [ 224s] /usr/include/linux/types.h:35:25: note: previous declaration > of ‘__le64’ with type ‘__le64’ {aka ‘long long unsigned > int’} > [ 224s]35 | typedef __u64 __bitwise __le64; > [ 224s] | ^~ > > > > -- > David Marchand > -- Joshua Washington | Software Engineer | joshw...@google.com | (414) 366-4423

[PATCH] net/gve: add IO memory barriers before reading descriptors

2024-10-03 Thread Joshua Washington
tails because rte_write32 includes an implicit write memory barrier. Fixes: 4022ff56 ("net/gve: support basic Tx data path for DQO") Fixes: 45da16b5b181 ("net/gve: support basic Rx data path for DQO") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Joshua Was

[PATCH] net/gve: fix refill logic causing memory corruption

2024-10-03 Thread Joshua Washington
e. Fixes: 45da16b5b181 ("net/gve: support basic Rx data path for DQO") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Praveen Kaligineedi --- drivers/net/gve/gve_rx_dqo.c | 62 ++--

[PATCH] net/gve: fix mbuf allocation memory leak for DQ Rx

2024-10-01 Thread Joshua Washington
t;net/gve: support queue start/stop") Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Praveen Kaligineedi --- drivers/net/gve/gve_rx_dqo.c | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/gve/gve_

[PATCH] net/gve: always attempt Rx refill on DQ

2024-10-01 Thread Joshua Washington
") Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Praveen Kaligineedi Reviewed-by: Rushil Gupta --- .mailmap | 1 + drivers/net/gve/gve_rx_dqo.c | 6 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.mailmap b/.mailmap index d798a3f30f..d2

net/gve: attempt Rx refill even when no packets received on DQ

2024-10-01 Thread Joshua Washington
Signed-off-by: Joshua Washington Reviewed-by: Praveen Kaligineedi Reviewed-by: Rushil Gupta --- .mailmap | 1 + drivers/net/gve/gve_rx_dqo.c | 6 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.mailmap b/.mailmap index 09fa253e12..2fc689a4de 100644

[PATCH] net/gve: add ptype parsing to DQ format

2024-09-18 Thread Joshua Washington
ptype from the descriptor. This helps with compatibility with programs which rely on the packet type value stored in the mbuf. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta --- drivers/net/gve/gve_rx_dqo.c | 62 +--- 1 file changed, 44 insertions(+), 18

Re: [PATCH v4] net/gve : Update EOP & csum bit in txd rte_mbuf chain

2024-08-01 Thread Joshua Washington
Acked-by: Joshua Washington Thanks!

Re: [PATCH] net/gve : Update EOP bit in txd rte_mbuf chain

2024-08-01 Thread Joshua Washington
Hi, can we try to serialize these patches? Let's fix the multidescriptor packets issue present in the driver first (ensuring that the entire descriptor is written each time). The TSO support is an entirely new feature and should likely not be backported to stable releases.

Re: [PATCH] net/gve : Update EOP bit in txd rte_mbuf chain

2024-07-31 Thread Joshua Washington
On Wed, Jul 31, 2024, 09:37 Tathagat Priyadarshi wrote: > > The EOP bit was not set for all the packets in mbuf chain > causing packet transmission stalls for packets split across > mbuf in chain. > > Signed-off-by: Tathagat Priyadarshi > Signed-off-by: Varun Lakkur Ambaji Rao > > Fixes: 4022f99

Re: [PATCH v2] net/gve: Fix TX/RX queue setup and stop

2024-07-29 Thread Joshua Washington
Acked-by: Joshua Washington

Re: [PATCH] net/gve: Update Rx/Tx functions for RTE_PROC_SECONDARY

2024-07-18 Thread Joshua Washington
My ack might have been a bit premature. This patch seems to have a number of style errors, and does not seem to apply to HEAD of dpdk-next-net. See http://dpdk.org/patch/142498 for more detail. The code supplied in the patch does not seem to have any indentation. Please note that DPDK uses tabs (a

Re: [PATCH] net/gve: Update Rx/Tx functions for RTE_PROC_SECONDARY

2024-07-18 Thread Joshua Washington
Acked-by: Joshua Washington Thanks!

[PATCH 4/4] net/gve: add ability to modify ring size in GQ format

2024-07-17 Thread Joshua Washington
ring size must be a power of two in size, and any other value would fail. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Harshitha Ramamurthy --- drivers/net/gve/base/gve_adminq.c | 6 ++ drivers/net/gve/gve_ethdev.c | 12 drivers/net/gve/gve_rx.c

[PATCH 3/4] net/gve: add min ring size support

2024-07-17 Thread Joshua Washington
device does not pass minimum ring sizes, they are set to static values. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Harshitha Ramamurthy --- drivers/net/gve/base/gve_adminq.c | 45 --- drivers/net/gve/base/gve_adminq.h | 13 ++--- drivers

[PATCH 2/4] net/gve: remove explicit field for Rx pages per QPL

2024-07-17 Thread Joshua Washington
n a user modifies the ring size, this value would be useless, as the ring size dictates the number of pages in the QPL, and each QPL "knows" how many pages it holds. tx_pages_per_qpl is unaffected by this because TX rings use a static number of pages per QPL. Signed-off-by: Josh

[PATCH 1/4] net/gve: add ring size device option

2024-07-17 Thread Joshua Washington
size of 4096. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Harshitha Ramamurthy --- drivers/net/gve/base/gve_adminq.c | 57 --- drivers/net/gve/base/gve_adminq.h | 11 ++ drivers/net/gve/gve_ethdev.h | 2 ++ 3 files changed, 66

[PATCH 0/4] gve GQ ring size modification

2024-07-17 Thread Joshua Washington
limits, the minimum ring size is fixed at 512 descriptors for RX and 256 descriptor for TX, while the maximum ring size is fixed at 1024 for both RX and TX. Limitations: The ring size must be a power of two. The DQ queue format should remain unaffected by this change. Joshua Washington (4

Re: [PATCH] net/gve: fix RSS hash endianness in DQO format

2024-07-06 Thread Joshua Washington
Thank you for your contribution, Shreesh! Let's get this applied as a stable fix so that it can be applied to 23.11 as well. https://doc.dpdk.org/guides/contributing/patches.html, section "Patch for Stable Releases" should have more detail for how this can be done. > Bugzilla ID: 1441 Please add a

[PATCH v2] net/gve: change QPLs to be queue resources

2024-06-13 Thread Joshua Washington
and de-registration/deallocation with the queue creation and destruction processes, respectively. Before this change, QPL structs part of gve_priv were allocated as part of driver initialization, which similarly does not make sense. Signed-off-by: Joshua Washington Reviewed-by: Harshitha

[PATCH v2] net/gve: change QPLs to be queue resources

2024-06-13 Thread Joshua Washington
-by: Joshua Washington Reviewed-by: Harshitha Ramamurthy Reviewed-by: Rushil Gupta --- .mailmap | 2 +- drivers/net/gve/gve_ethdev.c | 159 --- drivers/net/gve/gve_ethdev.h | 9 +- drivers/net/gve/gve_rx.c | 22 +++-- drivers/net/gve

[PATCH] net/gve: change QPLs to be queue resources

2024-06-13 Thread Joshua Washington
-by: Joshua Washington Reviewed-by: Harshitha Ramamurthy Reviewed-by: Rushil Gupta --- .mailmap | 2 +- drivers/net/gve/gve_ethdev.c | 159 --- drivers/net/gve/gve_ethdev.h | 9 +- drivers/net/gve/gve_rx.c | 22 +++-- drivers/net/gve

[PATCH v5 5/5] net/gve: add RSS redirection table update support

2024-01-31 Thread Joshua Washington
redirection table is expected to be exactly 128 bytes. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- doc/guides/nics/features/gve.ini | 1 + doc/guides/nics/gve.rst | 8 +++ drivers/net/gve/gve_ethdev.c | 95

[PATCH v5 4/5] net/gve: add RSS configuration update support

2024-01-31 Thread Joshua Washington
. The RSS key must be set before any other RSS configuration can happen. As such, an attempt to set the hash types before the key is configured will fail. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- doc/guides/nics/features/gve.ini | 1 + doc

[PATCH v5 3/5] net/gve: add gve RSS library

2024-01-31 Thread Joshua Washington
This change includes a number of helper functions to facilitate RSS configuration on the GVE DPDK driver. These methods are declared in gve_rss.h. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve_adminq.h | 10 +- drivers

[PATCH v5 2/5] net/gve: add RSS adminq command

2024-01-31 Thread Joshua Washington
This change introduces admin queue changes that enable the configuration of RSS parameters for the GVE driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve.h| 15 drivers/net/gve/base/gve_adminq.c | 58

[PATCH v5 1/5] net/gve: expose RSS offload support in dev info

2024-01-31 Thread Joshua Washington
This patch communicates that the GVE driver supports RSS, along with the RSS offloads supported by the driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 4 +++- drivers/net/gve/gve_ethdev.h | 8 2 files

[PATCH v5 0/5] net/gve: RSS Support for GVE Driver

2024-01-31 Thread Joshua Washington
relevant commits. Joshua Washington (5): net/gve: expose RSS offload support in dev info net/gve: add RSS adminq command net/gve: add gve RSS library net/gve: add RSS configuration update support net/gve: add RSS redirection table update support doc/guides/nics/features/gve.ini | 2

[PATCH v4 7/7] net/gve: update GVE documentation with RSS support

2024-01-26 Thread Joshua Washington
This patch updates the GVE doc page to communicate that GVE now supports RSS configuration and explains the limitations. Signed-off-by: Joshua Washington --- doc/guides/nics/gve.rst | 16 ++-- 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/guides/nics/gve.rst b

[PATCH v4 6/7] net/gve: update gve.ini with RSS capabilities

2024-01-26 Thread Joshua Washington
This patch updates the DPDK feature matrix to expose that the GVE driver supports RSS hash, RSS key update, and RSS reta update. Signed-off-by: Joshua Washington --- doc/guides/nics/features/gve.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/guides/nics/features/gve.ini b/doc

[PATCH v4 5/7] net/gve: RSS redirection table update support

2024-01-26 Thread Joshua Washington
redirection table is expected to be exactly 128 bytes. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 95 1 file changed, 95 insertions(+) diff --git a/drivers/net/gve/gve_ethdev.c b

[PATCH v4 4/7] net/gve: RSS configuration update support

2024-01-26 Thread Joshua Washington
. The RSS key must be set before any other RSS configuration can happen. As such, an attempt to set the hash types before the key is configured will fail. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 132

[PATCH v4 3/7] net/gve: add gve_rss library for handling RSS-related behaviors

2024-01-26 Thread Joshua Washington
This change includes a number of helper functions to facilitate RSS configuration on the GVE DPDK driver. These methods are declared in gve_rss.h. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve_adminq.h | 10 +- drivers

[PATCH v4 1/7] net/gve: fully expose RSS offload support in dev_info

2024-01-26 Thread Joshua Washington
This patch communicates that the GVE driver supports RSS, along with the RSS offloads supported by the driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 4 +++- drivers/net/gve/gve_ethdev.h | 8 2 files

[PATCH v4 2/7] net/gve: RSS adminq command changes

2024-01-26 Thread Joshua Washington
This change introduces admin queue changes that enable the configuration of RSS parameters for the GVE driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve.h| 15 drivers/net/gve/base/gve_adminq.c | 58

[PATCH v3 7/7] net/gve: update GVE documentation with RSS support

2024-01-23 Thread Joshua Washington
This patch updates the GVE doc page to communicate that GVE now supports RSS configuration and explains the limitations. Signed-off-by: Joshua Washington --- doc/guides/nics/gve.rst | 16 ++-- 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/guides/nics/gve.rst b

[PATCH v3 6/7] net/gve: update gve.ini with RSS capabilities

2024-01-23 Thread Joshua Washington
This patch updates the DPDK feature matrix to expose that the GVE driver supports RSS hash, RSS key update, and RSS reta update. Signed-off-by: Joshua Washington --- doc/guides/nics/features/gve.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/guides/nics/features/gve.ini b/doc

[PATCH v3 5/7] net/gve: RSS redirection table update support

2024-01-23 Thread Joshua Washington
redirection table is expected to be exactly 128 bytes. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 95 1 file changed, 95 insertions(+) diff --git a/drivers/net/gve/gve_ethdev.c b

[PATCH v3 3/7] net/gve: add gve_rss library for handling RSS-related behaviors

2024-01-23 Thread Joshua Washington
This change includes a number of helper functions to facilitate RSS configuration on the GVE DPDK driver. These methods are declared in gve_rss.h. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve_adminq.h | 10 +- drivers

[PATCH v3 4/7] net/gve: RSS configuration update support

2024-01-23 Thread Joshua Washington
. The RSS key must be set before any other RSS configuration can happen. As such, an attempt to set the hash types before the key is configured will fail. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 132

[PATCH v3 2/7] net/gve: RSS adminq command changes

2024-01-23 Thread Joshua Washington
This change introduces admin queue changes that enable the configuration of RSS parameters for the GVE driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve.h| 15 drivers/net/gve/base/gve_adminq.c | 58

[PATCH v3 1/7] net/gve: fully expose RSS offload support in dev_info

2024-01-23 Thread Joshua Washington
This patch communicates that the GVE driver supports RSS, along with the RSS offloads supported by the driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 4 +++- drivers/net/gve/gve_ethdev.h | 8 2 files

[PATCH v3 0/7] net/gve: RSS Support for GVE Driver

2024-01-23 Thread Joshua Washington
: There is a warning about complex macros being parenthesized that does not seem to be well-founded. v3: Fix build warnings that come up on certain distros. Joshua Washington (7): net/gve: fully expose RSS offload support in dev_info net/gve: RSS adminq command changes net/gve: add gve_rss

[PATCH v3 0/7] net/gve: RSS Support for GVE Driver

2024-01-23 Thread Joshua Washington
: There is a warning about complex macros being parenthesized that does not seem to be well-founded. v3: Fix build warnings that come up on certain distros. Joshua Washington (7): net/gve: fully expose RSS offload support in dev_info net/gve: RSS adminq command changes net/gve: add gve_rss

[PATCH 0/7] net/gve: RSS Support for GVE Driver

2024-01-23 Thread Joshua Washington
: There is a warning about complex macros being parenthesized that does not seem to be well-founded. v3: Fix build warnings that come up on certain distros. Joshua Washington (7): net/gve: fully expose RSS offload support in dev_info net/gve: RSS adminq command changes net/gve: add gve_rss

[PATCH v3 7/7] net/gve: update GVE documentation with RSS support

2024-01-23 Thread Joshua Washington
This patch updates the GVE doc page to communicate that GVE now supports RSS configuration and explains the limitations. Signed-off-by: Joshua Washington --- doc/guides/nics/gve.rst | 16 ++-- 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/guides/nics/gve.rst b

[PATCH v3 6/7] net/gve: update gve.ini with RSS capabilities

2024-01-23 Thread Joshua Washington
This patch updates the DPDK feature matrix to expose that the GVE driver supports RSS hash, RSS key update, and RSS reta update. Signed-off-by: Joshua Washington --- doc/guides/nics/features/gve.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/guides/nics/features/gve.ini b/doc

[PATCH v3 5/7] net/gve: RSS redirection table update support

2024-01-23 Thread Joshua Washington
redirection table is expected to be exactly 128 bytes. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 95 1 file changed, 95 insertions(+) diff --git a/drivers/net/gve/gve_ethdev.c b

[PATCH v3 4/7] net/gve: RSS configuration update support

2024-01-23 Thread Joshua Washington
. The RSS key must be set before any other RSS configuration can happen. As such, an attempt to set the hash types before the key is configured will fail. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 132

[PATCH v3 3/7] net/gve: add gve_rss library for handling RSS-related behaviors

2024-01-23 Thread Joshua Washington
This change includes a number of helper functions to facilitate RSS configuration on the GVE DPDK driver. These methods are declared in gve_rss.h. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve_adminq.h | 10 +- drivers

[PATCH v3 2/7] net/gve: RSS adminq command changes

2024-01-23 Thread Joshua Washington
This change introduces admin queue changes that enable the configuration of RSS parameters for the GVE driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve.h| 15 drivers/net/gve/base/gve_adminq.c | 58

[PATCH v3 1/7] net/gve: fully expose RSS offload support in dev_info

2024-01-23 Thread Joshua Washington
This patch communicates that the GVE driver supports RSS, along with the RSS offloads supported by the driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 4 +++- drivers/net/gve/gve_ethdev.h | 8 2 files

[PATCH 0/7] net/gve: RSS Support for GVE Driver

2024-01-23 Thread Joshua Washington
: There is a warning about complex macros being parenthesized that does not seem to be well-founded. v3: Fix build warnings that come up on certain distros. Joshua Washington (7): net/gve: fully expose RSS offload support in dev_info net/gve: RSS adminq command changes net/gve: add gve_rss

[PATCH v2 7/7] net/gve: update GVE documentation with RSS support

2024-01-23 Thread Joshua Washington
This patch updates the GVE doc page to communicate that GVE now supports RSS configuration and explains the limitations. Signed-off-by: Joshua Washington --- doc/guides/nics/gve.rst | 16 ++-- 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/guides/nics/gve.rst b

[PATCH v2 6/7] net/gve: update gve.ini with RSS capabilities

2024-01-23 Thread Joshua Washington
This patch updates the DPDK feature matrix to expose that the GVE driver supports RSS hash, RSS key update, and RSS reta update. Signed-off-by: Joshua Washington --- doc/guides/nics/features/gve.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/guides/nics/features/gve.ini b/doc

[PATCH v2 5/7] net/gve: RSS redirection table update support

2024-01-23 Thread Joshua Washington
redirection table is expected to be exactly 128 bytes. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 95 1 file changed, 95 insertions(+) diff --git a/drivers/net/gve/gve_ethdev.c b

[PATCH v2 4/7] net/gve: RSS configuration update support

2024-01-23 Thread Joshua Washington
. The RSS key must be set before any other RSS configuration can happen. As such, an attempt to set the hash types before the key is configured will fail. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 132

[PATCH v2 3/7] net/gve: add gve_rss library for handling RSS-related behaviors

2024-01-23 Thread Joshua Washington
This change includes a number of helper functions to facilitate RSS configuration on the GVE DPDK driver. These methods are declared in gve_rss.h. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve_adminq.h | 10 +- drivers

[PATCH v2 2/7] net/gve: RSS adminq command changes

2024-01-23 Thread Joshua Washington
This change introduces admin queue changes that enable the configuration of RSS parameters for the GVE driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/base/gve.h| 15 drivers/net/gve/base/gve_adminq.c | 59

[PATCH v2 1/7] net/gve: fully expose RSS offload support in dev_info

2024-01-23 Thread Joshua Washington
This patch communicates that the GVE driver supports RSS, along with the RSS offloads supported by the driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 4 +++- drivers/net/gve/gve_ethdev.h | 8 2 files

[PATCH 0/7] net/gve: RSS Support for GVE Driver

2024-01-23 Thread Joshua Washington
: There is a warning about complex macros being parenthesized that does not seem to be well-founded. Joshua Washington (7): net/gve: fully expose RSS offload support in dev_info net/gve: RSS adminq command changes net/gve: add gve_rss library for handling RSS-related behaviors net/gve: RSS

[PATCH 7/7] net/gve: update GVE documentation with RSS support

2024-01-22 Thread Joshua Washington
--- doc/guides/nics/gve.rst | 16 ++-- 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/guides/nics/gve.rst b/doc/guides/nics/gve.rst index 1c3eaf03ef..80991e70cf 100644 --- a/doc/guides/nics/gve.rst +++ b/doc/guides/nics/gve.rst @@ -70,6 +70,8 @@ Supported features o

[PATCH 6/7] net/gve: update gve.ini with RSS capabilities

2024-01-22 Thread Joshua Washington
--- doc/guides/nics/features/gve.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/guides/nics/features/gve.ini b/doc/guides/nics/features/gve.ini index 838edd456a..bc08648dbc 100644 --- a/doc/guides/nics/features/gve.ini +++ b/doc/guides/nics/features/gve.ini @@ -15,3 +15,6 @@ Linux

[PATCH 5/7] net/gve: RSS redirection table update support

2024-01-22 Thread Joshua Washington
This patch introduces support for updating the RSS redirection table in the GVE PMD through the implementation of rss_reta_update and rss_reta_query. Due to an infrastructure limitation, the RSS hash key must be manually configured before the redirection table can be updated or queried. The redire

[PATCH 4/7] net/gve: RSS configuration update support

2024-01-22 Thread Joshua Washington
This patch adds support for updating the RSS hash key and hash fields in the GVE PMD through the implementation of rss_hash_update and rss_hash_conf_get. The RSS hash key for gVNIC is required to be 40 bytes. On initial configuration of the RSS hash key, the RSS redirection table will be set to a

[PATCH 3/7] net/gve: add gve_rss library for handling RSS-related behaviors

2024-01-22 Thread Joshua Washington
This change includes a number of helper functions to facilitate RSS configuration on the GVE DPDK driver. These methods are declared in gve_rss.h. --- drivers/net/gve/base/gve_adminq.h | 10 +- drivers/net/gve/gve_ethdev.c | 2 +- drivers/net/gve/gve_ethdev.h | 4 +- drivers/net/gve

[PATCH 2/7] net/gve: RSS adminq command changes

2024-01-22 Thread Joshua Washington
This change introduces admin queue changes that enable the configuration of RSS parameters for the GVE driver. --- drivers/net/gve/base/gve.h| 15 drivers/net/gve/base/gve_adminq.c | 59 +++ drivers/net/gve/base/gve_adminq.h | 29 +++ driver

[PATCH 1/7] net/gve: fully expose RSS offload support in dev_info

2024-01-22 Thread Joshua Washington
--- drivers/net/gve/gve_ethdev.c | 4 +++- drivers/net/gve/gve_ethdev.h | 8 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c index d162fd3864..6acdb4e13b 100644 --- a/drivers/net/gve/gve_ethdev.c +++ b/drivers/net/

[PATCH 0/7] net/gve: RSS Support for GVE Driver

2024-01-22 Thread Joshua Washington
queues, and the gVNIC device does not support anywhere near 64K queues. This series also updates the corresponding feature matrix ertries and documentation as it pertains to RSS support in the GVE driver. Joshua Washington (7): net/gve: fully expose RSS offload support in dev_info net/gve

Re: [PATCH] net/gve: Enable stats reporting for GQ format

2024-01-16 Thread Joshua Washington
_memzone_free(priv->stats_report_mem); >> > >> >> What will happen if user asks stats/xstats after port stopped? >> > Good catch. I have added a null check so that the driver doesn't try to > read stats from memory region that doesn't exist. > >> >> <...> >> >> > gve_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) >> > { >> > uint16_t i; >> > + if (gve_is_gqi(dev->data->dev_private)) >> > + gve_get_imissed_from_nic(dev); >> > >> >> This updates imissed in RxQ struct for all queues for basic stats, but >> what if user only calls xstats, I guess in that case stat won't be >> updated. >> > > Yes; that is expected. Since imissed is a member of rte_eth_stats; calling > gve_dev_stats_get is the right way to get this stat. > -- Joshua Washington | Software Engineer | joshw...@google.com | (414) 366-4423

[PATCH] net/gve: add support for max_rx_bufsize

2023-11-16 Thread Joshua Washington
The new max_rx_bufsize field in dev_info can be used to guide mbuf sizes chosen by DPDK programs by ensuring that DPDK programs do not waste memory by using an mbuf size too large for the maximum RX buffer size. This patch adds support for this field in the GVE PMD. Signed-off-by: Joshua

[PATCH v2] net/gve: fix RX buffer size alignment

2023-11-13 Thread Joshua Washington
minimum and maximum supported buffer sizes. Fixes: 4bec2d0b5572 ("net/gve: support queue operations") Fixes: 1dc00f4fc74b ("net/gve: add Rx queue setup for DQO") Cc: junfeng@intel.com Cc: sta...@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta

Re: [PATCH] net/gve: fix RX buffer size alignment

2023-11-13 Thread Joshua Washington
ze to this patch, how would that interact with backports? Is it possible to include only parts of a patch in a backport? On Fri, Nov 10, 2023 at 8:18 PM Ferruh Yigit wrote: > On 11/11/2023 12:34 AM, Joshua Washington wrote: > > In GVE, both queue formats have RX buffer size alignmen

[PATCH] net/gve: fix RX buffer size alignment

2023-11-10 Thread Joshua Washington
dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta --- drivers/net/gve/gve_ethdev.c | 5 - drivers/net/gve/gve_ethdev.h | 22 +- drivers/net/gve/gve_rx.c | 10 +- drivers/net/gve/gve_rx_dqo.c | 9 - 4 files changed, 42 insertions(+),

[PATCH v2] ethdev: account for smaller MTU when setting default

2023-11-07 Thread Joshua Washington
default DPDK MTU. Fixes: 1bb4a528c4 ("ethdev: fix max Rx packet length") Signed-off-by: Joshua Washington Signed-off-by: Rushil Gupta --- lib/ethdev/rte_ethdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index

[PATCH] ethdev: account for smaller MTU when setting default

2023-11-07 Thread Joshua Washington
default DPDK MTU. Fixes: 1bb4a528c4 ("ethdev: fix max Rx packet length") Signed-off-by: Joshua Washington Signed-off-by: Rushil Gupta --- lib/ethdev/rte_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index

[PATCH] net/gve: Update max_rx_pktlen to be based on MTU

2023-10-16 Thread Joshua Washington
(the default MTU on Google Cloud VMs) causes testpmd to set the following: mtu = 1460 - eth_overhead, where eth_overhead = dev->max_rx_pktlen - dev->max_mtu = 65535 - 1460. Thus, mtu = 1460 - 65535 + 1460 = 2921 due to underflow. Signed-off-by: Joshua Washington Fixes: 030025b74202 (&q

[PATCH] net/gve: allow GVE MTU greater than RTE_ETHER_MTU

2023-09-29 Thread Joshua Washington
: Joshua Washington --- drivers/net/gve/gve_ethdev.c | 5 +++-- drivers/net/gve/gve_ethdev.h | 3 --- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c index 9b25f3036b..b441f96623 100644 --- a/drivers/net/gve/gve_ethdev.c +++ b

[PATCH v6] app/testpmd: txonly multiflow port change support

2023-05-18 Thread Joshua Washington
addresses. The change can be tested with the following command: dpdk-testpmd -- --forward-mode=txonly --txonly-multi-flow \ --tx-ip=, Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta --- app/test-pmd/txonly.c | 38 ++ 1 file changed, 22

  1   2   >