From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id F33DB5A98 for ; Tue, 15 Aug 2017 07:59:45 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Aug 2017 22:59:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,376,1498546800"; d="scan'208";a="123665470" Received: from dpdk15.sh.intel.com ([10.67.111.77]) by orsmga002.jf.intel.com with ESMTP; 14 Aug 2017 22:59:42 -0700 Date: Tue, 15 Aug 2017 14:01:54 +0800 From: Jiayu Hu To: Ferruh Yigit Cc: jingjing.wu@intel.com, dev@dpdk.org, konstantin.ananyev@intel.com, thomas@monjalon.net, jianfeng.tan@intel.com, yliu@fridaylinux.org Message-ID: <20170815060154.GA68392@dpdk15.sh.intel.com> References: <1502333448-75976-1-git-send-email-jiayu.hu@intel.com> <1502333448-75976-2-git-send-email-jiayu.hu@intel.com> <31db58bb-220b-834b-ceb7-2bdf23b5659d@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <31db58bb-220b-834b-ceb7-2bdf23b5659d@intel.com> User-Agent: Mutt/1.7.1 (2016-10-04) 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: Tue, 15 Aug 2017 05:59:46 -0000 Hi Ferruh, On Thu, Aug 10, 2017 at 10:50:02AM +0100, Ferruh Yigit wrote: > 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") Yes, using 'gro' as root command will make the usage of testpmd inconsistent. I will change the GSO command in the next patch. Besides, there are other root commands, like 'tso', and maybe we need to change them too. > > > 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" ? Yes, I will add one in the next patch. > > > 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. Make sense. > > > 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. Agree, and I will add "port" to GRO related commands. Thanks, Jiayu > > 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