From patchwork Wed Jun 30 06:53:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xu, Ting" X-Patchwork-Id: 95031 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 937D1A0A0F; Wed, 30 Jun 2021 08:50:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 78F6440040; Wed, 30 Jun 2021 08:50:42 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 4D8084003C for ; Wed, 30 Jun 2021 08:50:41 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10030"; a="208247024" X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="208247024" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2021 23:50:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="625911179" Received: from dpdk-xuting-second.sh.intel.com ([10.67.116.193]) by orsmga005.jf.intel.com with ESMTP; 29 Jun 2021 23:50:38 -0700 From: Ting Xu To: dev@dpdk.org Cc: qi.z.zhang@intel.com, jingjing.wu@intel.com, beilei.xing@intel.com, qiming.yang@intel.com, Ting Xu Date: Wed, 30 Jun 2021 14:53:37 +0800 Message-Id: <20210630065344.50352-1-ting.xu@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210601014034.36100-1-ting.xu@intel.com> References: <20210601014034.36100-1-ting.xu@intel.com> Subject: [dpdk-dev] [PATCH v4 0/7] Enable ETS-based Tx QoS for VF in DCF 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 Sender: "dev" This patch enables the ETS-based Tx QoS for IAVF. Kernel tool is used to configure ETS first. DCF is used to set bandwidth limit for VFs of each TC. IAVF is supported to query QoS capability and set queue TC mapping. Traffic Management API is utilized to configure the QoS hierarchy scheduler tree. The scheduler tree will be passed to hardware to enable all above functions. Ting Xu (7): common/iavf: support ETS-based QoS offload configuration net/ice/base: support DCF query port ETS adminq net/ice: support DCF link status event handling net/ice: support QoS config VF bandwidth in DCF net/iavf: query QoS cap and set queue TC mapping net/iavf: check Tx packet with correct UP and queue doc: release note for ETS-based Tx QoS doc/guides/rel_notes/release_21_08.rst | 7 + drivers/common/iavf/iavf_type.h | 2 + drivers/common/iavf/virtchnl.h | 131 +++++ drivers/net/iavf/iavf.h | 56 ++ drivers/net/iavf/iavf_ethdev.c | 34 ++ drivers/net/iavf/iavf_rxtx.c | 43 ++ drivers/net/iavf/iavf_tm.c | 727 +++++++++++++++++++++++ drivers/net/iavf/iavf_vchnl.c | 56 +- drivers/net/iavf/meson.build | 1 + drivers/net/ice/base/ice_dcb.c | 3 +- drivers/net/ice/ice_dcf.c | 9 +- drivers/net/ice/ice_dcf.h | 54 ++ drivers/net/ice/ice_dcf_ethdev.c | 68 ++- drivers/net/ice/ice_dcf_ethdev.h | 3 + drivers/net/ice/ice_dcf_parent.c | 81 +++ drivers/net/ice/ice_dcf_sched.c | 759 +++++++++++++++++++++++++ drivers/net/ice/meson.build | 3 +- 17 files changed, 2030 insertions(+), 7 deletions(-) create mode 100644 drivers/net/iavf/iavf_tm.c create mode 100644 drivers/net/ice/ice_dcf_sched.c