From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 444E94C8F for ; Wed, 21 Mar 2018 16:26:44 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Mar 2018 08:26:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,340,1517904000"; d="scan'208";a="29996020" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.52]) by fmsmga002.fm.intel.com with SMTP; 21 Mar 2018 08:26:39 -0700 Received: by (sSMTP sendmail emulation); Wed, 21 Mar 2018 15:26:38 +0000 Date: Wed, 21 Mar 2018 15:26:38 +0000 From: Bruce Richardson To: Thomas Monjalon Cc: Ferruh Yigit , Shahaf Shuler , dev@dpdk.org, Andrew Rybchenko , John McNamara , Marko Kovacevic , Patil@dpdk.org, Harish , Ivan Malov Message-ID: <20180321152638.GA11100@bricha3-MOBL.ger.corp.intel.com> References: <44e451f86e4582815767cf75b4e0f01f5cc60b5f.1507104596.git.shahafs@mellanox.com> <4165486.q6vGXG96hz@xps> <5699565.CqXomkVGtb@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5699565.CqXomkVGtb@xps> Organization: Intel Research and Development Ireland Ltd. User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH] doc: update new ethdev offload API description 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: Wed, 21 Mar 2018 15:26:44 -0000 On Wed, Mar 21, 2018 at 03:40:43PM +0100, Thomas Monjalon wrote: > 21/03/2018 15:28, Ferruh Yigit: > > On 3/21/2018 2:08 PM, Thomas Monjalon wrote: > > > 21/03/2018 11:54, Ferruh Yigit: > > >> On 3/21/2018 9:47 AM, Andrew Rybchenko wrote: > > >>> IMHO, it should be allowed to specify queue offloads on port level. > > >>> It should simply enable these offloads on all queues. Also it will > > >>> match dev_info [rt]x_offload_capa which include both port and queue > > >>> offloads. > > >>> > > >>> Yes, we lose possibility to enable on port level, but disable on queue > > >>> level by suggested changes, but I think it is OK - if you don't need > > >>> it for all queues, just control separately on queue level. > > >> > > >> What I understand was queue offload can only enable more, but it seems it can > > >> both enable or disable. > > > > > > Yes, queue offload should only enable more. > > > An offload enabled at port level, cannot be disabled at queue level. > > > > Agree an offload enabled at port level can't be disabled at queue level, but why > > not have the ability to disable a queue level offload with another queue setup call. > > Yes it should be possible to disable a queue offload: > 1/ enable offload in queue configuration > 2/ later disable this offload in queue configuration > > So, when I say "only enable more", I mean queue config should only enable > more than port config. In other words, a port-level offload cannot be > disabled at queue level. > > > > A port offload can be repeated in queue configuration. > > > If a port offload is not repeated in queue configuration, there should be > > > no impact: it is still in the port configuration, thus applying to all queues. > > > > This was a requirement, this patch targets removing the requirement to repeat > > the port offload in queue config. > > Understood, and I agree with this change if it is well explained > in sphinx and doxygen. > It is important to say that queue configuration has no impact on offloads > already enabled at port level. > > > > About capabilities, the queue offloads must be a subset of port offloads. > > > The queue capabilities show which offloads can be enabled per queue. > > > Why not abandon port-level config entirely? Then you just have queue-level configs, with the restriction that on some NICs all queues must be configured the same way. It can be up to the NIC drivers - or possibly ethdev layer - to identify and report an error in such cases. /Bruce