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 0EA1EA0C4E; Sat, 4 Dec 2021 18:38:43 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 875D540DDD; Sat, 4 Dec 2021 18:38:42 +0100 (CET) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by mails.dpdk.org (Postfix) with ESMTP id DA2C64013F for ; Sat, 4 Dec 2021 18:38:40 +0100 (CET) Received: by mail-pg1-f179.google.com with SMTP id j11so6305735pgs.2 for ; Sat, 04 Dec 2021 09:38:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7S20v6VkaUt+ln3HrLfMLQ4nzkH0EJ39UlXGpIqHh2M=; b=feNjxPCQ6nZFSlC+qWe5tKlQWCKDW/Kb/Jk5P3LNEBe1X6jK+PjEs32ZiCJB5vRIbE 5Yf6FFYTaK7Qk2lZ4X9G6WPjhCBfVkpm9i2Ft35KiO7h6MjLNAe2eLDwBQiq7OcjUI+L jHunQtm30MwtPwLBOetW3FclfH3aEHUitJLY/3BQs+tAeIoyB89a4o3QbMZW7FS0yFgW qkc4zxi3ogdbRjv2C64w31EuTfVlaMGX/3w27SRQ73hmZ5sUIjufp6dnUIvs+mblBhPd He3gi5LaCTc831xV4CbBpyjk+4RpoeVo/dJbLtyN4bWUwfxr5z7qT0RpUvxhaVDsDxwl 87CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7S20v6VkaUt+ln3HrLfMLQ4nzkH0EJ39UlXGpIqHh2M=; b=yxmscbAC9lGndJGTgO+3AQ+GvVdXEpC5IWFTA1QioBnHcaoqztrqSObroqwmR5cbwX IZ7ma3Fj3OOHVh9OrQUFFQUQRZESkIKsqzrGjSwItnQB2v6y3/wZrf2T7WHDPbzCmE7v bTVdD9r/KYa+AcmlMClF1kwaQm9KGZ30aOb6mkR4N1FlEnjNpEgIA0/ngKT2d6UrtW0J BAgcPe+U9TpxaBu5KFClzBbNiOftU+pUiXTgDUu2lIC5UwLIBuGEtd67s2kl9uLuChHR icm9DdPdE2nFyY445vNMMCNMIQx2/1ge83lj7kMy0QwP137hukXq/GWxWWkeArMzrtlK fXPA== X-Gm-Message-State: AOAM532tmiKP0kWhd6J33q54th7j+6JhBs+kcqrB4iHhDalifaZltbDt PDHTkxCItW1voe39DbcPoFNRzw== X-Google-Smtp-Source: ABdhPJyZRoNuAa5gNlbY/LYBeMbmkYphP67wudqJzfokmRZo01jMcAUhKzIUZLgvVX8pZZjd7/sXIg== X-Received: by 2002:a63:780e:: with SMTP id t14mr4672196pgc.605.1638639519819; Sat, 04 Dec 2021 09:38:39 -0800 (PST) Received: from hermes.local (204-195-33-123.wavecable.com. [204.195.33.123]) by smtp.gmail.com with ESMTPSA id gc22sm8284642pjb.57.2021.12.04.09.38.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Dec 2021 09:38:39 -0800 (PST) Date: Sat, 4 Dec 2021 09:38:35 -0800 From: Stephen Hemminger To: Cc: , Ray Kinsella , Thomas Monjalon , Ferruh Yigit , "Andrew Rybchenko" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [dpdk-dev] [PATCH] ethdev: support queue-based priority flow control Message-ID: <20211204093835.4ef4219c@hermes.local> In-Reply-To: <20211204172458.1904300-1-jerinj@marvell.com> References: <20211204172458.1904300-1-jerinj@marvell.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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, 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.