[dpdk-dev] [PATCH] app/testpmd: fix cleanup of Tx metadata offload
Dekel Peled
dekelp at mellanox.com
Thu Nov 14 14:59:13 CET 2019
Previous patch [1] removed the match_metadata Tx offload.
This patch removes the option to select this offload from testpmd
menu, help text and documentation.
It also modifies the cmd_show_tx_metadata_parsed() function, to
display the value correctly, and the dump_pkt_burst() function to
display the relevant (Tx/Rx) metadata only.
[1] http://patches.dpdk.org/patch/62457/
Fixes: 9bf26e1318e3 ("ethdev: move egress metadata to dynamic field")
Cc: viacheslavo at mellanox.com
Signed-off-by: Dekel Peled <dekelp at mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
---
app/test-pmd/cmdline.c | 10 ++++------
app/test-pmd/util.c | 4 ++--
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 3 +--
3 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 809c94a..9f3e0b2 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -874,7 +874,7 @@ static void cmd_help_long_parsed(void *parsed_result,
"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|mbuf_fast_free|"
- "security|match_metadata on|off\n"
+ "security on|off\n"
" Enable or disable a per port Tx offloading"
" on all Tx queues of a port\n\n"
@@ -18571,8 +18571,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#mbuf_fast_free#security#"
- "match_metadata");
+ "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,
@@ -18657,8 +18656,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|mbuf_fast_free|security|"
- "match_metadata on|off",
+ "mt_lockfree|multi_segs|mbuf_fast_free|security on|off",
.tokens = {
(void *)&cmd_config_per_port_tx_offload_result_port,
(void *)&cmd_config_per_port_tx_offload_result_config,
@@ -18857,7 +18855,7 @@ struct cmd_show_tx_metadata_result {
}
if (!strcmp(res->cmd_keyword, "tx_metadata")) {
printf("Port %u tx_metadata: %u\n", res->cmd_pid,
- rte_be_to_cpu_32(ports[res->cmd_pid].tx_metadata));
+ ports[res->cmd_pid].tx_metadata);
}
}
diff --git a/app/test-pmd/util.c b/app/test-pmd/util.c
index cf41864..b514be5 100644
--- a/app/test-pmd/util.c
+++ b/app/test-pmd/util.c
@@ -82,10 +82,10 @@
mb->vlan_tci, mb->vlan_tci_outer);
else if (ol_flags & PKT_RX_VLAN)
printf(" - VLAN tci=0x%x", mb->vlan_tci);
- if (ol_flags & PKT_TX_DYNF_METADATA)
+ if (!is_rx && (ol_flags & PKT_TX_DYNF_METADATA))
printf(" - Tx metadata: 0x%x",
*RTE_FLOW_DYNF_METADATA(mb));
- if (ol_flags & PKT_RX_DYNF_METADATA)
+ if (is_rx && (ol_flags & PKT_RX_DYNF_METADATA))
printf(" - Rx metadata: 0x%x",
*RTE_FLOW_DYNF_METADATA(mb));
if (mb->packet_type) {
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 48473d8..a3ba5d2 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1718,8 +1718,7 @@ Enable or disable a per port Tx offloading on all Tx queues of a port::
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, mbuf_fast_free, security,
- match_metadata
+ mt_lockfree, multi_segs, mbuf_fast_free, security
This command should be run when the port is stopped, or else it will fail.
--
1.8.3.1
More information about the dev
mailing list