diff mbox series

[ovs-dev,v7,2/2] netdev-dpdk: Re-enable VXLAN/Geneve offload for Intel cards.

Message ID 20240909050409.237360-2-mkp@redhat.com
State Accepted, archived
Commit bd48ff8f7d39cc18ca0e7db4095684e2077a4000
Delegated to: Eelco Chaudron
Headers show
Series [ovs-dev,v7,1/2] Userspace: Software fallback for UDP encapsulated TCP segmentation. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

Mike Pattrick Sept. 9, 2024, 5:04 a.m. UTC
Previously support for UDP tunneled traffic TCP traffic with UDP
checksum offloading did not work well in cases where the sending network
card didn't also support these features.

Some of the code had been written to assume that if a card supported
VXLAN/Geneve offloading, then it also supported outer UDP checksum
offloading. However, this was not the case for some Intel network cards.

A previous change disabled the VXLAN/Geneve offload flags for these
cards as a temporary fix. However, with "Userspace: Software fallback
for UDP encapsulated TCP segmentation.", the logic related to software
fallback for checksum offloading now anticipates this configuration.

The modification to the outer UDP offload flag is still required. This
feature does not work as expected in the current DPDK release.

Suggested-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Mike Pattrick <mkp@redhat.com>
---
 lib/netdev-dpdk.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Eelco Chaudron Sept. 10, 2024, 7:15 a.m. UTC | #1
On 9 Sep 2024, at 7:04, Mike Pattrick wrote:

> Previously support for UDP tunneled traffic TCP traffic with UDP
> checksum offloading did not work well in cases where the sending network
> card didn't also support these features.
>
> Some of the code had been written to assume that if a card supported
> VXLAN/Geneve offloading, then it also supported outer UDP checksum
> offloading. However, this was not the case for some Intel network cards.
>
> A previous change disabled the VXLAN/Geneve offload flags for these
> cards as a temporary fix. However, with "Userspace: Software fallback
> for UDP encapsulated TCP segmentation.", the logic related to software
> fallback for checksum offloading now anticipates this configuration.
>
> The modification to the outer UDP offload flag is still required. This
> feature does not work as expected in the current DPDK release.
>
> Suggested-by: David Marchand <david.marchand@redhat.com>
> Reviewed-by: David Marchand <david.marchand@redhat.com>
> Signed-off-by: Mike Pattrick <mkp@redhat.com>

Change looks good to me in combination with the first patch of this series.

Acked-by: Eelco Chaudron <echaudro@redhat.com>


Note: this is technically v8, but this is removed at commit time anyway.
diff mbox series

Patch

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 02cef6e45..95a78241d 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -1363,8 +1363,6 @@  dpdk_eth_dev_init(struct netdev_dpdk *dev)
                   "net/ice, net/i40e or net/iavf port.",
                   netdev_get_name(&dev->up));
         info.tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM;
-        info.tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO;
-        info.tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO;
     }
 
     if (info.tx_offload_capa & RTE_ETH_TX_OFFLOAD_IPV4_CKSUM) {