From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D506DA0613 for ; Tue, 27 Aug 2019 18:43:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B2A281C023; Tue, 27 Aug 2019 18:43:27 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 820881C023; Tue, 27 Aug 2019 18:43:26 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Aug 2019 09:43:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,437,1559545200"; d="scan'208";a="355825155" Received: from silpixa00389033.ir.intel.com ([10.237.222.118]) by orsmga005.jf.intel.com with ESMTP; 27 Aug 2019 09:43:22 -0700 From: Flavia Musatescu To: dev@dpdk.org, Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic Cc: stable@dpdk.org, Flavia Musatescu , shahafs@mellanox.com Date: Tue, 27 Aug 2019 17:43:15 +0100 Message-Id: <1566924195-27042-1-git-send-email-flavia.musatescu@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565007903-13910-1-git-send-email-flavia.musatescu@intel.com> References: <1565007903-13910-1-git-send-email-flavia.musatescu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] [PATCH v2] app/testpmd: remove duplicated support for Rx offloading X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" The testpmd application provides two sets of commands for RX offload flags configuration. The purpose of this patch is to eliminate this duplication by removing the old set of commands: “port config all crc-strip|scatter|rx-cksum|rx-timestamp|hw-vlan| hw-vlan-filter|hw-vlan-strip|hw-vlan-extend on|off” The other commands set that can be used instead in order to enable or disable the same RX offloading flags on all RX queues of a port is: "port config rx_offload crc_strip|scatter|ipv4_cksum| udp_cksum|tcp_cksum|timestamp|vlan_strip|vlan_filter|vlan_extend on|off" This patch also fixes the "drop-en" command, which enables packets dropping on all RX queues of all ports when no receive buffers available “port config all drop-en on|off” Fixes: 384161e00627 ("app/testpmd: adjust on the fly VLAN configuration") Cc: shahafs@mellanox.com Cc: stable@dpdk.org Signed-off-by: Flavia Musatescu --- app/test-pmd/cmdline.c | 120 ++++------------------------ doc/guides/rel_notes/release_19_11.rst | 9 +++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 81 +------------------ 3 files changed, 25 insertions(+), 185 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 56783aa..b6bc34b 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -778,11 +778,9 @@ static void cmd_help_long_parsed(void *parsed_result, "port config all max-pkt-len (value)\n" " Set the max packet length.\n\n" - "port config all (crc-strip|scatter|rx-cksum|rx-timestamp|hw-vlan|hw-vlan-filter|" - "hw-vlan-strip|hw-vlan-extend|drop-en)" - " (on|off)\n" - " Set crc-strip/scatter/rx-checksum/hardware-vlan/drop_en" - " for ports.\n\n" + "port config all drop-en (on|off)\n" + " Enable or disable packet drop on all RX queues of all ports when no " + "receive buffers available.\n\n" "port config all rss (all|default|ip|tcp|udp|sctp|" "ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|)\n" @@ -2109,112 +2107,24 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result, __attribute__((unused)) void *data) { struct cmd_config_rx_mode_flag *res = parsed_result; - portid_t pid; - int k; if (!all_ports_stopped()) { printf("Please stop all ports first\n"); return; } - RTE_ETH_FOREACH_DEV(pid) { - struct rte_port *port; - uint64_t rx_offloads; - - port = &ports[pid]; - rx_offloads = port->dev_conf.rxmode.offloads; - if (!strcmp(res->name, "crc-strip")) { - if (!strcmp(res->value, "on")) { - rx_offloads &= ~DEV_RX_OFFLOAD_KEEP_CRC; - } else if (!strcmp(res->value, "off")) { - rx_offloads |= DEV_RX_OFFLOAD_KEEP_CRC; - } else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "scatter")) { - if (!strcmp(res->value, "on")) { - rx_offloads |= DEV_RX_OFFLOAD_SCATTER; - } else if (!strcmp(res->value, "off")) { - rx_offloads &= ~DEV_RX_OFFLOAD_SCATTER; - } else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "rx-cksum")) { - if (!strcmp(res->value, "on")) - rx_offloads |= DEV_RX_OFFLOAD_CHECKSUM; - else if (!strcmp(res->value, "off")) - rx_offloads &= ~DEV_RX_OFFLOAD_CHECKSUM; - else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "rx-timestamp")) { - if (!strcmp(res->value, "on")) - rx_offloads |= DEV_RX_OFFLOAD_TIMESTAMP; - else if (!strcmp(res->value, "off")) - rx_offloads &= ~DEV_RX_OFFLOAD_TIMESTAMP; - else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "hw-vlan")) { - if (!strcmp(res->value, "on")) { - rx_offloads |= (DEV_RX_OFFLOAD_VLAN_FILTER | - DEV_RX_OFFLOAD_VLAN_STRIP); - } else if (!strcmp(res->value, "off")) { - rx_offloads &= ~(DEV_RX_OFFLOAD_VLAN_FILTER | - DEV_RX_OFFLOAD_VLAN_STRIP); - } else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "hw-vlan-filter")) { - if (!strcmp(res->value, "on")) - rx_offloads |= DEV_RX_OFFLOAD_VLAN_FILTER; - else if (!strcmp(res->value, "off")) - rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_FILTER; - else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "hw-vlan-strip")) { - if (!strcmp(res->value, "on")) - rx_offloads |= DEV_RX_OFFLOAD_VLAN_STRIP; - else if (!strcmp(res->value, "off")) - rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_STRIP; - else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "hw-vlan-extend")) { - if (!strcmp(res->value, "on")) - rx_offloads |= DEV_RX_OFFLOAD_VLAN_EXTEND; - else if (!strcmp(res->value, "off")) - rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_EXTEND; - else { - printf("Unknown parameter\n"); - return; - } - } else if (!strcmp(res->name, "drop-en")) { - if (!strcmp(res->value, "on")) - rx_drop_en = 1; - else if (!strcmp(res->value, "off")) - rx_drop_en = 0; - else { - printf("Unknown parameter\n"); - return; - } - } else { + if (!strcmp(res->name, "drop-en")) { + if (!strcmp(res->value, "on")) + rx_drop_en = 1; + else if (!strcmp(res->value, "off")) + rx_drop_en = 0; + else { printf("Unknown parameter\n"); return; } - port->dev_conf.rxmode.offloads = rx_offloads; - /* Apply Rx offloads configuration */ - for (k = 0; k < port->dev_info.max_rx_queues; k++) - port->rx_conf[k].offloads = - port->dev_conf.rxmode.offloads; + } else { + printf("Unknown parameter\n"); + return; } init_port_config(); @@ -2231,8 +2141,7 @@ cmdline_parse_token_string_t cmd_config_rx_mode_flag_all = TOKEN_STRING_INITIALIZER(struct cmd_config_rx_mode_flag, all, "all"); cmdline_parse_token_string_t cmd_config_rx_mode_flag_name = TOKEN_STRING_INITIALIZER(struct cmd_config_rx_mode_flag, name, - "crc-strip#scatter#rx-cksum#rx-timestamp#hw-vlan#" - "hw-vlan-filter#hw-vlan-strip#hw-vlan-extend"); + "drop-en"); cmdline_parse_token_string_t cmd_config_rx_mode_flag_value = TOKEN_STRING_INITIALIZER(struct cmd_config_rx_mode_flag, value, "on#off"); @@ -2240,8 +2149,7 @@ cmdline_parse_token_string_t cmd_config_rx_mode_flag_value = cmdline_parse_inst_t cmd_config_rx_mode_flag = { .f = cmd_config_rx_mode_flag_parsed, .data = NULL, - .help_str = "port config all crc-strip|scatter|rx-cksum|rx-timestamp|hw-vlan|" - "hw-vlan-filter|hw-vlan-strip|hw-vlan-extend on|off", + .help_str = "port config all drop-en on|off", .tokens = { (void *)&cmd_config_rx_mode_flag_port, (void *)&cmd_config_rx_mode_flag_keyword, diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst index 8490d89..27cfbd9 100644 --- a/doc/guides/rel_notes/release_19_11.rst +++ b/doc/guides/rel_notes/release_19_11.rst @@ -69,6 +69,15 @@ Removed Items Also, make sure to start the actual text at the margin. ========================================================= + * Removed duplicated set of commands for RX offloading configuration from app/testpmd: + “port config all crc-strip|scatter|rx-cksum|rx-timestamp|hw-vlan|hw-vlan-filter| + hw-vlan-strip|hw-vlan-extend on|off”. + + The testpmd commands set that can be used instead in order to enable or disable Rx + offloading on all Rx queues of a port is: + "port config rx_offload crc_strip|scatter|ipv4_cksum|udp_cksum|tcp_cksum| + timestamp|vlan_strip|vlan_filter|vlan_extend on|off" + API Changes ----------- diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 313e070..67f4339 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -2099,91 +2099,14 @@ Set the maximum packet length:: This is equivalent to the ``--max-pkt-len`` command-line option. -port config - CRC Strip -~~~~~~~~~~~~~~~~~~~~~~~ - -Set hardware CRC stripping on or off for all ports:: - - testpmd> port config all crc-strip (on|off) - -CRC stripping is on by default. - -The ``off`` option is equivalent to the ``--disable-crc-strip`` command-line option. - -port config - scatter -~~~~~~~~~~~~~~~~~~~~~~~ - -Set RX scatter mode on or off for all ports:: - - testpmd> port config all scatter (on|off) - -RX scatter mode is off by default. - -The ``on`` option is equivalent to the ``--enable-scatter`` command-line option. - -port config - RX Checksum -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Set hardware RX checksum offload to on or off for all ports:: - - testpmd> port config all rx-cksum (on|off) - -Checksum offload is off by default. - -The ``on`` option is equivalent to the ``--enable-rx-cksum`` command-line option. - -port config - VLAN -~~~~~~~~~~~~~~~~~~ - -Set hardware VLAN on or off for all ports:: - - testpmd> port config all hw-vlan (on|off) - -Hardware VLAN is off by default. - -The ``on`` option is equivalent to the ``--enable-hw-vlan`` command-line option. - -port config - VLAN filter -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Set hardware VLAN filter on or off for all ports:: - - testpmd> port config all hw-vlan-filter (on|off) - -Hardware VLAN filter is off by default. - -The ``on`` option is equivalent to the ``--enable-hw-vlan-filter`` command-line option. - -port config - VLAN strip -~~~~~~~~~~~~~~~~~~~~~~~~ - -Set hardware VLAN strip on or off for all ports:: - - testpmd> port config all hw-vlan-strip (on|off) - -Hardware VLAN strip is off by default. - -The ``on`` option is equivalent to the ``--enable-hw-vlan-strip`` command-line option. - -port config - VLAN extend -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Set hardware VLAN extend on or off for all ports:: - - testpmd> port config all hw-vlan-extend (on|off) - -Hardware VLAN extend is off by default. - -The ``on`` option is equivalent to the ``--enable-hw-vlan-extend`` command-line option. - port config - Drop Packets ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Set packet drop for packets with no descriptors on or off for all ports:: +Enable or disable packet drop on all RX queues of all ports when no receive buffers available:: testpmd> port config all drop-en (on|off) -Packet dropping for packets with no descriptors is off by default. +Packet dropping when no receive buffers available is off by default. The ``on`` option is equivalent to the ``--enable-drop-en`` command-line option. -- 2.7.4