[dpdk-dev] [PATCH] app/testpmd: fix commands to config some offload
Peng, Yuan
yuan.peng at intel.com
Fri Jul 20 05:20:51 CEST 2018
Tested-by: Peng, Yuan <yuan.peng at intel.com>
- DPDK version: 18.08-rc1 commit c27dbc300eee78c2eb33e84181617fdd7cbaaae4
- OS: 4.5.5-300.fc24.x86_64
- Compiler: gcc (GCC) 5.3.1 20151207 (Red Hat 5.3.1-2)
- Hardware platform: BDE-EP
- NIC Intel Corporation Device Fortville [8086:1583]
- driver: i40e
- version: 2.4.3
- firmware-version: 6.01 0x80003205 1.1691.0
- CPU: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
- Default x86_64-native-linuxapp-gcc configuration
- Prerequisites:
- Total 2 cases, 2 passed, 0 failed
Test1:
./usertools/dpdk-devbind.py -b igb_uio 05:00.0 05:00.1
1../x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 - -i --rxq=4 --txq=4
testpmd> show port 0 rx_offload capabilities
Rx Offloading Capabilities of port 0 :
Per Queue :
Per Port : VLAN_STRIP IPV4_CKSUM UDP_CKSUM TCP_CKSUM QINQ_STRIP OUTER_IPV4_CKSUM VLAN_FILTER VLAN_EXTEND JUMBO_FRAME CRC_STRIP KEEP_CRC
testpmd> show port 0 rx_offload configuration
Rx Offloading Configuration of port 0 :
Port :
Queue[ 0] :
Queue[ 1] :
Queue[ 2] :
Queue[ 3] :
Testpmd> port stop 0
testpmd> port config 0 rx_offload keep_crc on
testpmd> port start 0
The port can be started normally.
Test2:
1. Start testpmd and get the tx_offload capability and configuration::
./testpmd -c f -n 4 -- -i --rxq=4 --txq=4
testpmd> show port 0 tx_offload capabilities
Tx Offloading Capabilities of port 0 :
Per Queue : MBUF_FAST_FREE
Per Port : VLAN_INSERT IPV4_CKSUM UDP_CKSUM TCP_CKSUM SCTP_CKSUM TCP_TSO OUTER_IPV4_CKSUM QINQ_INSERT VXLAN_TNL_TSO GRE_TNL_TSO IPIP_TNL_TSO GENEVE_TNL_TSO MULTI_SEGS
testpmd> show port 0 tx_offload configuration
Tx Offloading Configuration of port 0 :
Port : MBUF_FAST_FREE
Queue[ 0] :
Queue[ 1] :
Queue[ 2] :
Queue[ 3] :
2. Disable mbuf_fast_free per_port::
testpmd> port stop 0
testpmd> port config 0 tx_offload mbuf_fast_free off
testpmd> port start 0
testpmd> show port 0 tx_offload configuration
Tx Offloading Configuration of port 0 :
Port :
Queue[ 0] :
Queue[ 1] :
Queue[ 2] :
Queue[ 3] :
3. Enable mbuf_fast_free per_queue::
testpmd> port 0 txq 0 tx_offload mbuf_fast_free on
testpmd> port 0 txq 1 tx_offload mbuf_fast_free on
testpmd> port 0 txq 2 tx_offload mbuf_fast_free on
testpmd> port 0 txq 3 tx_offload mbuf_fast_free on
testpmd> port start 0
testpmd> show port 0 tx_offload configuration
Tx Offloading Configuration of port 0 :
Port :
Queue[ 0] : MBUF_FAST_FREE
Queue[ 1] : MBUF_FAST_FREE
Queue[ 2] : MBUF_FAST_FREE
Queue[ 3] : MBUF_FAST_FREE
4. Disable mbuf_fast_free per_queue::
testpmd> port 0 txq 0 tx_offload mbuf_fast_free off
testpmd> port 0 txq 1 tx_offload mbuf_fast_free off
testpmd> port 0 txq 2 tx_offload mbuf_fast_free off
testpmd> port 0 txq 3 tx_offload mbuf_fast_free off
testpmd> port start 0
testpmd> show port 0 tx_offload configuration
Tx Offloading Configuration of port 0 :
Port :
Queue[ 0] :
Queue[ 1] :
Queue[ 2] :
Queue[ 3] :
The mbuf_fast_free per_queue can be set normally.
-----Original Message-----
From: Dai, Wei
Sent: Friday, July 20, 2018 10:43 AM
To: Wu, Jingjing <jingjing.wu at intel.com>; Peng, Yuan <yuan.peng at intel.com>
Cc: dev at dpdk.org; Dai, Wei <wei.dai at intel.com>; stable at dpdk.org
Subject: [PATCH] app/testpmd: fix commands to config some offload
Without this patch, testpmd command to config Rx offload keep_crc would fail and report "Bad argument".
This patch aslo fix the command to config the Tx offload mbuf_fast_free.
Fixes: 70815c9ecadd ("ethdev: add new offload flag to keep CRC")
Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API")
Cc: stable at dpdk.org
Signed-off-by: Wei Dai <wei.dai at intel.com>
---
app/test-pmd/cmdline.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 5885289..a0ed3a0 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -16665,7 +16665,7 @@ struct cmd_config_per_port_rx_offload_result {
offload, "vlan_strip#ipv4_cksum#udp_cksum#tcp_cksum#tcp_lro#"
"qinq_strip#outer_ipv4_cksum#macsec_strip#"
"header_split#vlan_filter#vlan_extend#jumbo_frame#"
- "crc_strip#scatter#timestamp#security");
+ "crc_strip#scatter#timestamp#security#keep_crc");
cmdline_parse_token_string_t cmd_config_per_port_rx_offload_result_on_off =
TOKEN_STRING_INITIALIZER
(struct cmd_config_per_port_rx_offload_result,
@@ -16744,7 +16744,7 @@ struct cmd_config_per_port_rx_offload_result {
.help_str = "port config <port_id> rx_offload vlan_strip|ipv4_cksum|"
"udp_cksum|tcp_cksum|tcp_lro|qinq_strip|outer_ipv4_cksum|"
"macsec_strip|header_split|vlan_filter|vlan_extend|"
- "jumbo_frame|crc_strip|scatter|timestamp|security "
+ "jumbo_frame|crc_strip|scatter|timestamp|security|keep_crc "
"on|off",
.tokens = {
(void *)&cmd_config_per_port_rx_offload_result_port,
@@ -16794,7 +16794,7 @@ struct cmd_config_per_queue_rx_offload_result {
offload, "vlan_strip#ipv4_cksum#udp_cksum#tcp_cksum#tcp_lro#"
"qinq_strip#outer_ipv4_cksum#macsec_strip#"
"header_split#vlan_filter#vlan_extend#jumbo_frame#"
- "crc_strip#scatter#timestamp#security");
+ "crc_strip#scatter#timestamp#security#keep_crc");
cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_on_off =
TOKEN_STRING_INITIALIZER
(struct cmd_config_per_queue_rx_offload_result,
@@ -16846,7 +16846,7 @@ struct cmd_config_per_queue_rx_offload_result {
"vlan_strip|ipv4_cksum|"
"udp_cksum|tcp_cksum|tcp_lro|qinq_strip|outer_ipv4_cksum|"
"macsec_strip|header_split|vlan_filter|vlan_extend|"
- "jumbo_frame|crc_strip|scatter|timestamp|security "
+ "jumbo_frame|crc_strip|scatter|timestamp|security|keep_crc "
"on|off",
.tokens = {
(void *)&cmd_config_per_queue_rx_offload_result_port,
@@ -17063,7 +17063,7 @@ struct cmd_config_per_port_tx_offload_result {
"sctp_cksum#tcp_tso#udp_tso#outer_ipv4_cksum#"
"qinq_insert#vxlan_tnl_tso#gre_tnl_tso#"
"ipip_tnl_tso#geneve_tnl_tso#macsec_insert#"
- "mt_lockfree#multi_segs#fast_free#security");
+ "mt_lockfree#multi_segs#mbuf_fast_free#security");
cmdline_parse_token_string_t cmd_config_per_port_tx_offload_result_on_off =
TOKEN_STRING_INITIALIZER
(struct cmd_config_per_port_tx_offload_result,
@@ -17144,7 +17144,7 @@ struct cmd_config_per_port_tx_offload_result {
"sctp_cksum|tcp_tso|udp_tso|outer_ipv4_cksum|"
"qinq_insert|vxlan_tnl_tso|gre_tnl_tso|"
"ipip_tnl_tso|geneve_tnl_tso|macsec_insert|"
- "mt_lockfree|multi_segs|fast_free|security "
+ "mt_lockfree|multi_segs|mbuf_fast_free|security "
"on|off",
.tokens = {
(void *)&cmd_config_per_port_tx_offload_result_port,
@@ -17195,7 +17195,7 @@ struct cmd_config_per_queue_tx_offload_result {
"sctp_cksum#tcp_tso#udp_tso#outer_ipv4_cksum#"
"qinq_insert#vxlan_tnl_tso#gre_tnl_tso#"
"ipip_tnl_tso#geneve_tnl_tso#macsec_insert#"
- "mt_lockfree#multi_segs#fast_free#security");
+ "mt_lockfree#multi_segs#mbuf_fast_free#security");
cmdline_parse_token_string_t cmd_config_per_queue_tx_offload_result_on_off =
TOKEN_STRING_INITIALIZER
(struct cmd_config_per_queue_tx_offload_result,
@@ -17248,7 +17248,7 @@ struct cmd_config_per_queue_tx_offload_result {
"sctp_cksum|tcp_tso|udp_tso|outer_ipv4_cksum|"
"qinq_insert|vxlan_tnl_tso|gre_tnl_tso|"
"ipip_tnl_tso|geneve_tnl_tso|macsec_insert|"
- "mt_lockfree|multi_segs|fast_free|security "
+ "mt_lockfree|multi_segs|mbuf_fast_free|security "
"on|off",
.tokens = {
(void *)&cmd_config_per_queue_tx_offload_result_port,
--
1.8.3.1
More information about the dev
mailing list