From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: Survey for final decision about per-port offload API Date: Wed, 25 Apr 2018 17:45:11 +0100 Message-ID: <872ba0c0-562f-d98f-3461-82607024f42d@intel.com> References: <2759953.P7QpFFSjiU@xps> <2216799.LoqiUiJk6K@xps> <38ef5fed-d664-2c99-543d-89b04f03be0a@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: dev@dpdk.org, Ajit Khaparde , Jerin Jacob , Shijith Thotton , Santosh Shukla , Rahul Lakkireddy , John Daley , Wenzhuo Lu , Konstantin Ananyev , Beilei Xing , Qi Zhang , Jingjing Wu , Adrien Mazarguil , Nelio Laranjeiro , Yongseok Koh , Shahaf Shuler , Tomasz Duszynski , Jianbo Liu , Alejandro Lucero , Hemant Agrawal , Shreyansh Jain , Harish Patil Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id EF1938E73 for ; Wed, 25 Apr 2018 18:45:21 +0200 (CEST) In-Reply-To: <38ef5fed-d664-2c99-543d-89b04f03be0a@intel.com> Content-Language: en-US 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 4/25/2018 2:32 PM, Ferruh Yigit wrote: >>> There are two cases of disable: >>> 1- Disabling a "queue level offload" enabled queue_setup() previously >>> 2- Disabling a "queue level offload" enabled in configure() >>> >>> If second is not supported, to disable the offload, applications should >>> stop->re-configure()->re-queue_setup()->start the port. But having this >>> capability makes the offloading parameters more confusing for applications. >> I don't understand the last sentence. >> >>> I suggest adding disable support to fist one but not second one. >> Yes, it is the item 3 of the survey. > Yes indeed. Just to confirm, as far as I can see 2) is supported by Mlx PMD, at least the verify function doesn't return error for this case [1], which won't be supported anymore. Can we get a confirmation from mlx PMD developers that this is OK? [1] static int mlx5_is_rx_queue_offloads_allowed(struct rte_eth_dev *dev, uint64_t offloads) { uint64_t port_offloads = dev->data->dev_conf.rxmode.offloads; uint64_t queue_supp_offloads = mlx5_get_rx_queue_offloads(dev); uint64_t port_supp_offloads = mlx5_get_rx_port_offloads(); if ((offloads & (queue_supp_offloads | port_supp_offloads)) != offloads) return 0; if (((port_offloads ^ offloads) & port_supp_offloads)) return 0; return 1; }