DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/ethdev Bug 1529] "net_txgbe" have not implemented outer UDP checksum offload, but the capability flag has been set.
Date: Thu, 29 Aug 2024 12:25:53 +0000	[thread overview]
Message-ID: <bug-1529-3@http.bugs.dpdk.org/> (raw)

[-- Attachment #1: Type: text/plain, Size: 3640 bytes --]

https://bugs.dpdk.org/show_bug.cgi?id=1529

            Bug ID: 1529
           Summary: "net_txgbe" have not implemented outer UDP checksum
                    offload, but the capability flag has been set.
           Product: DPDK
           Version: 24.07
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: junwang01@cestc.cn
  Target Milestone: ---

In OVS-DPDK, when using the Wangxun RP1000 network card, I found that the card
supports outer UDP checksum offload according to the capabilities retrieved by
OVS-DPDK. However, in actual testing, the outer UDP checksum of the transmitted
packets is incorrect. After I manually disabled
RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM in the OVS code, the traffic was normal. So,
does this mean that the card does not actually support outer UDP checksum
offload, but the capability is enabled in the DPDK code? Or is there a bug in
the implementation logic?

Before modification in OVS:

status              : {bus_info="bus_name=pci, vendor_id=8088, device_id=1001",
driver_name=net_txgbe, if_descr="DPDK 23.11.0 net_txgbe", if_type="6",
link_speed="10Gbps", max_hash_mac_addrs="4096", max_mac_addrs="128",
max_rx_pktlen="1618", max_rx_queues="128", max_tx_queues="128", max_vfs="0",
max_vmdq_pools="64", min_rx_bufsize="1024", n_rxq="2", n_txq="5", numa_id="0",
port_no="0", rx-steering=rss, rx_csum_offload="true",
tx_geneve_tso_offload="true", tx_ip_csum_offload="true",
tx_out_ip_csum_offload="true", tx_out_udp_csum_offload="true",
tx_sctp_csum_offload="true", tx_tcp_csum_offload="true",
tx_tcp_seg_offload="true", tx_udp_csum_offload="true",
tx_vxlan_tso_offload="true"}


After modification in OVS:

status              : {bus_info="bus_name=pci, vendor_id=8088, device_id=1001",
driver_name=net_txgbe, if_descr="DPDK 23.11.0 net_txgbe", if_type="6",
link_speed="10Gbps", max_hash_mac_addrs="4096", max_mac_addrs="128",
max_rx_pktlen="1618", max_rx_queues="128", max_tx_queues="128", max_vfs="0",
max_vmdq_pools="64", min_rx_bufsize="1024", n_rxq="2", n_txq="5", numa_id="0",
port_no="0", rx-steering=rss, rx_csum_offload="true",
tx_geneve_tso_offload="true", tx_ip_csum_offload="true",
tx_out_ip_csum_offload="true", tx_out_udp_csum_offload="false",
tx_sctp_csum_offload="true", tx_tcp_csum_offload="true",
tx_tcp_seg_offload="true", tx_udp_csum_offload="true",
tx_vxlan_tso_offload="true"}


diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index
d7f0aa1f5835b5c51ed0a2c8cd84079f388ca9ce..1f50676e55687f6ccdaccb7f5403c82569fb2041
100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -2050,12 +2050,13 @@ dpdk_eth_offload_config(struct netdev_dpdk *dev,
     }

     if (!strcmp(info->driver_name, "net_i40e")
-        || !strcmp(info->driver_name, "net_iavf")) {
+        || !strcmp(info->driver_name, "net_iavf")
+        || !strcmp(info->driver_name, "net_txgbe")) {
         /* FIXME: Driver advertises the capability but doesn't seem
          * to actually support it correctly.  Can remove this once
          * the driver is fixed on DPDK side. */
         VLOG_INFO("%s: disabled Tx outer udp checksum offloads for a "
-                  "net/i40e or net/iavf port.",
+                  "net/i40e or net/iavf or net_txgbe port.",
                   netdev_get_name(&dev->up));
         info->tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM;
     }

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #2: Type: text/html, Size: 6197 bytes --]

                 reply	other threads:[~2024-08-29 12:25 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1529-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).