From d56ec3dcad056c47cef4e837d5191d04c936d87e Mon Sep 17 00:00:00 2001 From: Dekel Peled Date: Thu, 14 Nov 2019 15:59:13 +0200 Subject: [PATCH] app/testpmd: fix cleanup of Tx metadata offload Commit in fixes tag 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. Fixes: 9bf26e1318e3 ("ethdev: move egress metadata to dynamic field") Signed-off-by: Dekel Peled Acked-by: Viacheslav Ovsiienko Acked-by: Bernard Iremonger --- 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 809c94a895..9f3e0b251b 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 @@ cmdline_parse_token_string_t cmd_config_per_port_tx_offload_result_offload = "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 @@ cmdline_parse_inst_t cmd_config_per_port_tx_offload = { "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 @@ cmd_show_tx_metadata_parsed(void *parsed_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 cf41864d54..b514be5e16 100644 --- a/app/test-pmd/util.c +++ b/app/test-pmd/util.c @@ -82,10 +82,10 @@ dump_pkt_burst(uint16_t port_id, uint16_t queue, struct rte_mbuf *pkts[], 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 6779822e1e..73ef0b41d3 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. -- 2.20.1