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 00D68A2E1B for ; Wed, 4 Sep 2019 14:36:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5E0CD1EC86; Wed, 4 Sep 2019 14:36:09 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 7E2C31EC26 for ; Wed, 4 Sep 2019 14:36:07 +0200 (CEST) X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Sep 2019 05:36:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,467,1559545200"; d="scan'208";a="383456355" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.117.5]) by fmsmga006.fm.intel.com with ESMTP; 04 Sep 2019 05:36:05 -0700 Date: Wed, 4 Sep 2019 20:34:09 +0800 From: Ye Xiaolong To: Ying Wang Cc: qi.z.zhang@intel.com, qiming.yang@intel.com, dev@dpdk.org, wei.zhao1@intel.com Message-ID: <20190904123409.GB54897@intel.com> References: <20190903221522.151382-1-ying.a.wang@intel.com> <20190903221522.151382-2-ying.a.wang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190903221522.151382-2-ying.a.wang@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH 1/4] net/ice: add devargs to control pipeline mode 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 09/04, Ying Wang wrote: >From: Qiming Yang > >Added a devarg to control the mode in generic flow API. >We use none-pipeline mode by default. > >Signed-off-by: Qiming Yang >--- > doc/guides/nics/ice.rst | 11 +++++++++++ > drivers/net/ice/ice_ethdev.c | 16 +++++++++++++++- > drivers/net/ice/ice_ethdev.h | 1 + > 3 files changed, 27 insertions(+), 1 deletion(-) > >diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst >index 03819d29f..a8429a535 100644 >--- a/doc/guides/nics/ice.rst >+++ b/doc/guides/nics/ice.rst >@@ -61,6 +61,17 @@ Runtime Config Options > NOTE: In Safe mode, only very limited features are available, features like RSS, > checksum, fdir, tunneling ... are all disabled. > >+- ``Generic Flow Pipeline Mode Support`` (default ``0``) >+ >+ In pipeline mode, a flow can be setted at one specific stage by setting parameter s/setted/set >+ ``priority``. Currently, we support two stages, priority 0 for permission and 1 for >+ distributor. For none-pipeline mode, all flows are assumed to be at the same pipeline Can we have more description of the 'permission' and 'distributor' in the doc? And we also need update in 19.11 release note, maybe in Ying's patch. >+ stage, priority is ignored. Default, generic flow API is enabled in none pipeline mode, s/Default/By default >+ user can choose to use pipeline mode by set ``devargs`` parameter ``pipeline-mode-support``, s/set/setting >+ for example:: >+ >+ -w 80:00.0, pipleline-mode-support=1 >+ > Driver compilation and testing > ------------------------------ > >diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c >index 9aa7506ba..4e0645db1 100644 >--- a/drivers/net/ice/ice_ethdev.c >+++ b/drivers/net/ice/ice_ethdev.c >@@ -19,9 +19,11 @@ > > /* devargs */ > #define ICE_SAFE_MODE_SUPPORT_ARG "safe-mode-support" >+#define ICE_PIPELINE_MODE_SUPPORT_ARG "pipeline-mode-support" > > static const char * const ice_valid_args[] = { > ICE_SAFE_MODE_SUPPORT_ARG, >+ ICE_PIPELINE_MODE_SUPPORT_ARG, > NULL > }; > >@@ -1510,7 +1512,18 @@ static int ice_parse_devargs(struct rte_eth_dev *dev) > > ret = rte_kvargs_process(kvlist, ICE_SAFE_MODE_SUPPORT_ARG, > &parse_bool, &ad->devargs.safe_mode_support); >+ if (ret) >+ goto err_devargs; >+ >+ ret = rte_kvargs_process(kvlist, ICE_PIPELINE_MODE_SUPPORT_ARG, >+ &parse_bool, &ad->devargs.pipeline_mode_support); >+ if (ret) >+ goto err_devargs; >+ >+ rte_kvargs_free(kvlist); >+ return ret; > These 2 lines are duplicated with below code. >+err_devargs: > rte_kvargs_free(kvlist); > return ret; > } >@@ -3925,7 +3938,8 @@ RTE_PMD_REGISTER_PCI(net_ice, rte_ice_pmd); > RTE_PMD_REGISTER_PCI_TABLE(net_ice, pci_id_ice_map); > RTE_PMD_REGISTER_KMOD_DEP(net_ice, "* igb_uio | uio_pci_generic | vfio-pci"); > RTE_PMD_REGISTER_PARAM_STRING(net_ice, >- ICE_SAFE_MODE_SUPPORT_ARG "=<0|1>"); >+ ICE_SAFE_MODE_SUPPORT_ARG "=<0|1>" >+ ICE_PIPELINE_MODE_SUPPORT_ARG "=<0|1>"); > > RTE_INIT(ice_init_log) > { >diff --git a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h >index 926db23d2..9bf5de08d 100644 >--- a/drivers/net/ice/ice_ethdev.h >+++ b/drivers/net/ice/ice_ethdev.h >@@ -285,6 +285,7 @@ struct ice_pf { > */ > struct ice_devargs { > int safe_mode_support; >+ int pipeline_mode_support; > }; > > /** >-- >2.15.1 >