Re: [PATCH] app/testpmd: fix commands to config some offload
From: Peng, Yuan <hidden>
Date: 2018-07-20 03:20:51
Tested-by: Peng, Yuan <redacted>
- 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 <redacted>; Peng, Yuan <redacted>
Cc: dev@dpdk.org; Dai, Wei <redacted>; stable@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@dpdk.org
Signed-off-by: Wei Dai <redacted>
---
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