From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1EFADA0547; Sun, 5 Dec 2021 08:04:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7745C40040; Sun, 5 Dec 2021 08:04:25 +0100 (CET) Received: from mail-il1-f182.google.com (mail-il1-f182.google.com [209.85.166.182]) by mails.dpdk.org (Postfix) with ESMTP id 0269B4003C for ; Sun, 5 Dec 2021 08:04:23 +0100 (CET) Received: by mail-il1-f182.google.com with SMTP id m5so6981067ilh.11 for ; Sat, 04 Dec 2021 23:04:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yuDwDQZYaqAiNkYK2UUps9woeBFA9uWo7RUuH6F+Opk=; b=PiRQ6dkOA0EJPD+wGLw4tclPPPk03PUI88LyASEj6mUzfBHS2r/hg8VPpzSYXi/r0W oS2jQuvEAqB9RO4vGY6H93rLrj+AKJnghjpIw/lY2Fd50f9vpjd8/Nag7pZg4bdO6F8F kdDqn+hcTxWdzUoCKtXMwbBm+Zz80MvQMGRGqpQmq3/ShmxW2vRN1Yc+Kbd3pNOKo+Rq cuT1cC+U2tSy4QBlptiT+6RPUXhAAhZFItr+dXxvatcJ7na/yzhJjJIZ22hKbc2Meqyl 3LIgPfA0SDReSIWOGODYBvkn5qVvZ59d4Yw2oYJ7P5n2i+w0ATFLS6p27LWMQKPjPOnq GhPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yuDwDQZYaqAiNkYK2UUps9woeBFA9uWo7RUuH6F+Opk=; b=8Hs082ICmmbbLq2GVZbe+FZFiDsr7JNAJU0f3psTdUTON7rDvB75esP7tNNQ32PinU cN7laCquhJmzuBA3wIOl5uBsw9K+k0xYZ1MmFEkfo4wJ809GLrWtHqLay92eQ3nVuWsy EoMtrfdxNJ6hjM+steiwdJmekpApGXS5F3pe3CFube0RwCnHcw8z6afle8SVgpECIYDj /S55RFCzpdcvUWFSljK4k+gHmwvWni63dffnXIPlXkVhLsHlWv3+O1vDSWVVccb+w7Ta hse1FCsKPnl6HEZ9Ndhhy+7s4eQJaJ27iZuXcqL/L+BueWXtzbn8kUoJqB4h51rLFxjf GE1Q== X-Gm-Message-State: AOAM533AN1FaJyuYgHTP3xXSMo6Wg4kxSd+0v78ktymVhomzIKn5SBkD 4oPGcM5wC6BHAe6PtCJ9KZdBD72Q092rr2QHPvo= X-Google-Smtp-Source: ABdhPJxUaTd+MYn+o6+PpSZ+32W6/dkiRwL/ybqgoE7OaoVKcNDhYbOUTKYydzyrnv6osSz/MTQlt2/D5XOJsDnFqgA= X-Received: by 2002:a92:c541:: with SMTP id a1mr27312084ilj.243.1638687863280; Sat, 04 Dec 2021 23:04:23 -0800 (PST) MIME-Version: 1.0 References: <20211204172458.1904300-1-jerinj@marvell.com> <20211204093835.4ef4219c@hermes.local> In-Reply-To: <20211204093835.4ef4219c@hermes.local> From: Jerin Jacob Date: Sun, 5 Dec 2021 12:33:57 +0530 Message-ID: Subject: Re: [dpdk-dev] [PATCH] ethdev: support queue-based priority flow control To: Stephen Hemminger Cc: Jerin Jacob , dpdk-dev , Ray Kinsella , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Ajit Khaparde , Andrew Boyer , Beilei Xing , "Richardson, Bruce" , Chas Williams , "Xia, Chenbo" , Ciara Loftus , Devendra Singh Rawat , Ed Czeck , Evgeny Schemeilin , Gaetan Rivet , Gagandeep Singh , Guoyang Zhou , Haiyue Wang , Harman Kalra , heinrich.kuhn@corigine.com, Hemant Agrawal , Hyong Youb Kim , Igor Chauskin , Igor Russkikh , Jakub Grajciar , Jasvinder Singh , Jian Wang , Jiawen Wu , Jingjing Wu , John Daley , John Miller , "John W. Linville" , "Wiles, Keith" , Kiran Kumar K , Lijun Ou , Liron Himi , Long Li , Marcin Wojtas , Martin Spinler , Matan Azrad , Matt Peters , Maxime Coquelin , Michal Krawczyk , "Min Hu (Connor" , Pradeep Kumar Nalla , Nithin Dabilpuram , Qiming Yang , Qi Zhang , Radha Mohan Chintakuntla , Rahul Lakkireddy , Rasesh Mody , Rosen Xu , Sachin Saxena , Satha Koteswara Rao Kottidi , Shahed Shaikh , Shai Brandes , Shepard Siegel , Somalapuram Amaranath , Somnath Kotur , Stephen Hemminger , Steven Webster , Sunil Kumar Kori , Tetsuya Mukawa , Veerasenareddy Burru , Viacheslav Ovsiienko , Xiao Wang , Xiaoyun Wang , Yisen Zhuang , Yong Wang , Ziyang Xuan Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Sat, Dec 4, 2021 at 11:08 PM Stephen Hemminger wrote: > > On Sat, 4 Dec 2021 22:54:58 +0530 > wrote: > > > + /** > > + * Maximum supported traffic class as per PFC (802.1Qbb) specification. > > + * > > + * Based on device support and use-case need, there are two different > > + * ways to enable PFC. The first case is the port level PFC > > + * configuration, in this case, rte_eth_dev_priority_flow_ctrl_set() > > + * API shall be used to configure the PFC, and PFC frames will be > > + * generated using based on VLAN TC value. > > + * The second case is the queue level PFC configuration, in this case, > > + * Any packet field content can be used to steer the packet to the > > + * specific queue using rte_flow or RSS and then use > > + * rte_eth_dev_priority_flow_ctrl_queue_set() to set the TC mapping > > + * on each queue. Based on congestion selected on the specific queue, > > + * configured TC shall be used to generate PFC frames. > > + * > > + * When set to non zero value, application must use queue level > > + * PFC configuration via rte_eth_dev_priority_flow_ctrl_queue_set() API > > + * instead of port level PFC configuration via > > + * rte_eth_dev_priority_flow_ctrl_set() API to realize > > + * PFC configuration. > > + */ > > + uint8_t pfc_queue_tc_max; > > + uint8_t reserved_8s[7]; > > + uint64_t reserved_64s[1]; /**< Reserved for future fields */ > > void *reserved_ptrs[2]; /**< Reserved for future fields */ > > Not sure you can claim ABI compatibility because the previous versions of DPDK > did not enforce that reserved fields must be zero. The Linux kernel > learned this when adding flags for new system calls; reserved fields only > work if you enforce that application must set them to zero. In this case it rte_eth_dev_info is an out parameter and implementation of rte_eth_dev_info_get() already memseting to 0. Do you still see any other ABI issue? See rte_eth_dev_info_get() /* * Init dev_info before port_id check since caller does not have * return status and does not know if get is successful or not. */ memset(dev_info, 0, sizeof(struct rte_eth_dev_info));