From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2A3DC45898; Thu, 29 Aug 2024 14:25:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC0E940279; Thu, 29 Aug 2024 14:25:55 +0200 (CEST) Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178]) by mails.dpdk.org (Postfix) with ESMTP id 02A034026A for ; Thu, 29 Aug 2024 14:25:53 +0200 (CEST) Received: by inbox.dpdk.org (Postfix, from userid 33) id C6BEE45899; Thu, 29 Aug 2024 14:25:53 +0200 (CEST) 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 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: DPDK X-Bugzilla-Component: ethdev X-Bugzilla-Version: 24.07 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: junwang01@cestc.cn X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: dev@dpdk.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: multipart/alternative; boundary=17249343530.08A0a.4016770 Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --17249343530.08A0a.4016770 Date: Thu, 29 Aug 2024 14:25:53 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All https://bugs.dpdk.org/show_bug.cgi?id=3D1529 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 c= ard supports outer UDP checksum offload according to the capabilities retrieved= by OVS-DPDK. However, in actual testing, the outer UDP checksum of the transmi= tted 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=3D"bus_name=3Dpci, vendor_id=3D8088, device= _id=3D1001", driver_name=3Dnet_txgbe, if_descr=3D"DPDK 23.11.0 net_txgbe", if_type=3D"6", link_speed=3D"10Gbps", max_hash_mac_addrs=3D"4096", max_mac_addrs=3D"128", max_rx_pktlen=3D"1618", max_rx_queues=3D"128", max_tx_queues=3D"128", max_v= fs=3D"0", max_vmdq_pools=3D"64", min_rx_bufsize=3D"1024", n_rxq=3D"2", n_txq=3D"5", n= uma_id=3D"0", port_no=3D"0", rx-steering=3Drss, rx_csum_offload=3D"true", tx_geneve_tso_offload=3D"true", tx_ip_csum_offload=3D"true", tx_out_ip_csum_offload=3D"true", tx_out_udp_csum_offload=3D"true", tx_sctp_csum_offload=3D"true", tx_tcp_csum_offload=3D"true", tx_tcp_seg_offload=3D"true", tx_udp_csum_offload=3D"true", tx_vxlan_tso_offload=3D"true"} After modification in OVS: status : {bus_info=3D"bus_name=3Dpci, vendor_id=3D8088, device= _id=3D1001", driver_name=3Dnet_txgbe, if_descr=3D"DPDK 23.11.0 net_txgbe", if_type=3D"6", link_speed=3D"10Gbps", max_hash_mac_addrs=3D"4096", max_mac_addrs=3D"128", max_rx_pktlen=3D"1618", max_rx_queues=3D"128", max_tx_queues=3D"128", max_v= fs=3D"0", max_vmdq_pools=3D"64", min_rx_bufsize=3D"1024", n_rxq=3D"2", n_txq=3D"5", n= uma_id=3D"0", port_no=3D"0", rx-steering=3Drss, rx_csum_offload=3D"true", tx_geneve_tso_offload=3D"true", tx_ip_csum_offload=3D"true", tx_out_ip_csum_offload=3D"true", tx_out_udp_csum_offload=3D"false", tx_sctp_csum_offload=3D"true", tx_tcp_csum_offload=3D"true", tx_tcp_seg_offload=3D"true", tx_udp_csum_offload=3D"true", tx_vxlan_tso_offload=3D"true"} diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index d7f0aa1f5835b5c51ed0a2c8cd84079f388ca9ce..1f50676e55687f6ccdaccb7f5403c8256= 9fb2041 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 &=3D ~RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM; } --=20 You are receiving this mail because: You are the assignee for the bug.= --17249343530.08A0a.4016770 Date: Thu, 29 Aug 2024 14:25:53 +0200 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All
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 Wangxu=
n 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 transmi=
tted
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=3D"bus_name=3Dpci, vendor_id=3D8088, d=
evice_id=3D1001",
driver_name=3Dnet_txgbe, if_descr=3D"DPDK 23.11.0 net_txgbe", if_=
type=3D"6",
link_speed=3D"10Gbps", max_hash_mac_addrs=3D"4096", max=
_mac_addrs=3D"128",
max_rx_pktlen=3D"1618", max_rx_queues=3D"128", max_tx_q=
ueues=3D"128", max_vfs=3D"0",
max_vmdq_pools=3D"64", min_rx_bufsize=3D"1024", n_rxq=
=3D"2", n_txq=3D"5", numa_id=3D"0",
port_no=3D"0", rx-steering=3Drss, rx_csum_offload=3D"true&qu=
ot;,
tx_geneve_tso_offload=3D"true", tx_ip_csum_offload=3D"true&q=
uot;,
tx_out_ip_csum_offload=3D"true", tx_out_udp_csum_offload=3D"=
true",
tx_sctp_csum_offload=3D"true", tx_tcp_csum_offload=3D"true&q=
uot;,
tx_tcp_seg_offload=3D"true", tx_udp_csum_offload=3D"true&quo=
t;,
tx_vxlan_tso_offload=3D"true"}


After modification in OVS:

status              : {bus_info=3D"bus_name=3Dpci, vendor_id=3D8088, d=
evice_id=3D1001",
driver_name=3Dnet_txgbe, if_descr=3D"DPDK 23.11.0 net_txgbe", if_=
type=3D"6",
link_speed=3D"10Gbps", max_hash_mac_addrs=3D"4096", max=
_mac_addrs=3D"128",
max_rx_pktlen=3D"1618", max_rx_queues=3D"128", max_tx_q=
ueues=3D"128", max_vfs=3D"0",
max_vmdq_pools=3D"64", min_rx_bufsize=3D"1024", n_rxq=
=3D"2", n_txq=3D"5", numa_id=3D"0",
port_no=3D"0", rx-steering=3Drss, rx_csum_offload=3D"true&qu=
ot;,
tx_geneve_tso_offload=3D"true", tx_ip_csum_offload=3D"true&q=
uot;,
tx_out_ip_csum_offload=3D"true", tx_out_udp_csum_offload=3D"=
false",
tx_sctp_csum_offload=3D"true", tx_tcp_csum_offload=3D"true&q=
uot;,
tx_tcp_seg_offload=3D"true", tx_udp_csum_offload=3D"true&quo=
t;,
tx_vxlan_tso_offload=3D"true"}


diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index
d7f0aa1f5835b5c51ed0a2c8cd84079f388ca9ce..1f50676e55687f6ccdaccb7f5403c8256=
9fb2041
100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -2050,12 +2050,13 @@ dpdk_eth_offload_config(struct netd=
ev_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 &=3D ~RTE_ETH_TX_OFFLOAD_OUTER_UDP_CK=
SUM;
     }
          


You are receiving this mail because:
  • You are the assignee for the bug.
=20=20=20=20=20=20=20=20=20=20
= --17249343530.08A0a.4016770--