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 B137B7D12 for ; Mon, 21 Aug 2017 13:03:48 +0200 (CEST) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Aug 2017 04:03:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,409,1498546800"; d="scan'208";a="302594586" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.57]) ([10.237.220.57]) by fmsmga004.fm.intel.com with ESMTP; 21 Aug 2017 04:03:44 -0700 To: Jiayu Hu , dev@dpdk.org Cc: konstantin.ananyev@intel.com, jianfeng.tan@intel.com, thomas@monjalon.net, jingjing.wu@intel.com, lei.a.yao@intel.com References: <1502333448-75976-1-git-send-email-jiayu.hu@intel.com> <1502960892-112960-1-git-send-email-jiayu.hu@intel.com> <1502960892-112960-2-git-send-email-jiayu.hu@intel.com> From: Ferruh Yigit Message-ID: Date: Mon, 21 Aug 2017 12:03:43 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <1502960892-112960-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 v2 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: Mon, 21 Aug 2017 11:03:49 -0000 On 8/17/2017 10:08 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 "set port gro (heavymode|lightmode) (on|off)", > users can select the lightweight mode or the heavyweight mode to use. With > the command "set gro flush interval ", users can set the interval of > flushing GROed packets from reassembly tables for the heavyweight mode. > With the command "show port gro", users can display GRO > configuration. > > Signed-off-by: Jiayu Hu <...> > lcoreid_t cpuid_idx; /**< index of logical core in CPU id table */ > @@ -434,13 +436,21 @@ extern struct ether_addr peer_eth_addrs[RTE_MAX_ETHPORTS]; > extern uint32_t burst_tx_delay_time; /**< Burst tx delay time(us) for mac-retry. */ > extern uint32_t burst_tx_retry_num; /**< Burst tx retry number for mac-retry. */ > > +#define GRO_HEAVYMODE 0x1 > +#define GRO_LIGHTMODE 0x2 Why these are not part of the gro library? Is the concept "lightweight mode and heavyweight mode" part of gro library or implemented only in testpmd? > + > #define GRO_DEFAULT_FLOW_NUM 4 > #define GRO_DEFAULT_ITEM_NUM_PER_FLOW DEF_PKT_BURST > + > +#define GRO_DEFAULT_FLUSH_INTERVAL 2 > +#define GRO_MAX_FLUSH_INTERVAL 4 > + > struct gro_status { > struct rte_gro_param param; > uint8_t enable; > }; > extern struct gro_status gro_ports[RTE_MAX_ETHPORTS]; > +extern uint32_t gro_flush_interval; <...>