From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 503881B53 for ; Thu, 10 Aug 2017 11:56:59 +0200 (CEST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Aug 2017 02:50:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,352,1498546800"; d="scan'208";a="117551917" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.57]) ([10.237.220.57]) by orsmga004.jf.intel.com with ESMTP; 10 Aug 2017 02:50:02 -0700 To: Jiayu Hu , jingjing.wu@intel.com Cc: dev@dpdk.org, konstantin.ananyev@intel.com, thomas@monjalon.net, jianfeng.tan@intel.com, yliu@fridaylinux.org References: <1502333448-75976-1-git-send-email-jiayu.hu@intel.com> <1502333448-75976-2-git-send-email-jiayu.hu@intel.com> From: Ferruh Yigit Message-ID: <31db58bb-220b-834b-ceb7-2bdf23b5659d@intel.com> Date: Thu, 10 Aug 2017 10:50:02 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1502333448-75976-2-git-send-email-jiayu.hu@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH 1/2] app/testpmd: support the heavywight mode GRO X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Aug 2017 09:57:00 -0000 On 8/10/2017 3:50 AM, Jiayu Hu wrote: > The GRO library provides two reassembly modes: lightweight mode and > heavyweight mode. This patch is to support the heavyweight mode in > csum forwarding engine. > > With the command "gro (heavymode|lightmode) (on|off) ", users > can select the lightweight mode or the heavyweight mode to use. With > the command "gro flush interval ", users can set the interval of > flushing GROed packets from the reassembly tables for the heavyweight > mode. > > Signed-off-by: Jiayu Hu > --- > app/test-pmd/cmdline.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++--- > app/test-pmd/config.c | 33 +++++++++++++-------- > app/test-pmd/csumonly.c | 29 ++++++++++++++---- > app/test-pmd/testpmd.c | 17 +++++++++++ > app/test-pmd/testpmd.h | 12 +++++++- > 5 files changed, 147 insertions(+), 23 deletions(-) > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c > index cd8c358..3224ce1 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -423,7 +423,7 @@ static void cmd_help_long_parsed(void *parsed_result, > "tso show (portid)" > " Display the status of TCP Segmentation Offload.\n\n" > > - "gro (on|off) (port_id)" > + "gro (heavymode|lightmode) (on|off) (port_id)\n" Not specific / limited to gro, but I have a few testpmd usability questions: 1) to update some settings, there are two root level commands already: a) set ... (like: "set fwd mac", "set promisc #P on") b) port config ... (like: "port config #P speed auto duplex auto") I don't know what it difference between above two, but thinking as "port config" is to configure ports and "set" is to set rest of testpmd config makes sense to me. (but "set vf .." and "set port .." doesn't fit to this statement) Instead of adding "gro" root level command, why not add this under "port config", like: "port config #P gro on" ? (or "set port #P gro on") 2) Should each configuration set have a corresponding show command? How a user can see the current gro setting? Do we need a "show port gro" ? 3) Where to place #P in the command: There are inconsistencies about where to put it, like: "port config #P l2-tunnel enable" "port config mtu #P value" "port #P rxq #Q start" or "show port info #P" "show port #P rss-hash ip4 key" It can be good to define a place for it for consistency. 4) Using "port" keyword in some commands before port_id: Like: "set link-down port #P", "reset port #P mirror-rule value" Mostly we don't have it: "show txq info #P #Q", "set bonding mode #M #P", "set stat_qmap rx #P #Q", "vlan set strip on #P" It can be good to define one or other. And I guess having need to use "port" keyword can be an indication that command should move under "port" command: "reset port #P mirror-rule #id" can be "port reset #P mirror-rule #id" Thanks, ferruh