[dpdk-dev,6/6] app/testpmd: testpmd support TX common tunnel offloads

Message ID 20180109141110.146250-7-xuemingl@mellanox.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply patch file failure

Commit Message

Xueming Li Jan. 9, 2018, 2:11 p.m. UTC
  "show port cap" and "csum parse tunnel" command support TX common tunnel
offloads

Signed-off-by: Xueming Li <xuemingl@mellanox.com>
---
 app/test-pmd/cmdline.c | 9 +++++++--
 app/test-pmd/config.c  | 9 +++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)
  

Comments

Wenzhuo Lu Jan. 16, 2018, 3:09 a.m. UTC | #1
Hi,


> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Xueming Li
> Sent: Tuesday, January 9, 2018 10:11 PM
> To: Olivier MATZ <olivier.matz@6wind.com>; Thomas Monjalon
> <thomas@monjalon.net>; Wu, Jingjing <jingjing.wu@intel.com>; Yongseok
> Koh <yskoh@mellanox.com>
> Cc: Xueming Li <xuemingl@mellanox.com>; Shahaf Shuler
> <shahafs@mellanox.com>; dev@dpdk.org
> Subject: [dpdk-dev] [PATCH 6/6] app/testpmd: testpmd support TX common
> tunnel offloads
> 
> "show port cap" and "csum parse tunnel" command support TX common
> tunnel offloads
> 
> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 00a229a41..63bc493b3 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -3949,6 +3949,9 @@  check_tunnel_tso_nic_support(portid_t port_id)
 	if (!(dev_info.tx_offload_capa & DEV_TX_OFFLOAD_GENEVE_TNL_TSO))
 		printf("Warning: GENEVE TUNNEL TSO not supported therefore "
 		       "not enabled for port %d\n", port_id);
+	if (!(dev_info.tx_offload_capa & DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM_TSO))
+		printf("Warning: COMMON TUNNEL TSO not supported therefore "
+		       "not enabled for port %d\n", port_id);
 	return dev_info;
 }
 
@@ -3976,13 +3979,15 @@  cmd_tunnel_tso_set_parsed(void *parsed_result,
 			~(DEV_TX_OFFLOAD_VXLAN_TNL_TSO |
 			  DEV_TX_OFFLOAD_GRE_TNL_TSO |
 			  DEV_TX_OFFLOAD_IPIP_TNL_TSO |
-			  DEV_TX_OFFLOAD_GENEVE_TNL_TSO);
+			  DEV_TX_OFFLOAD_GENEVE_TNL_TSO |
+			  DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM_TSO);
 		printf("TSO for tunneled packets is disabled\n");
 	} else {
 		uint64_t tso_offloads = (DEV_TX_OFFLOAD_VXLAN_TNL_TSO |
 					 DEV_TX_OFFLOAD_GRE_TNL_TSO |
 					 DEV_TX_OFFLOAD_IPIP_TNL_TSO |
-					 DEV_TX_OFFLOAD_GENEVE_TNL_TSO);
+					 DEV_TX_OFFLOAD_GENEVE_TNL_TSO |
+					 DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM_TSO);
 
 		ports[res->port_id].dev_conf.txmode.offloads |=
 			(tso_offloads & dev_info.tx_offload_capa);
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index da968cb64..486667bf4 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -739,6 +739,15 @@  port_offload_cap_display(portid_t port_id)
 			printf("off\n");
 	}
 
+	if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM_TSO) {
+		printf("TX common tunnel TSO and checksum:  ");
+		if (ports[port_id].dev_conf.txmode.offloads &
+		       DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM_TSO)
+			printf("on\n");
+		else
+			printf("off\n");
+	}
+
 }
 
 int