From patchwork Tue Jun 6 10:03:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xing, Beilei" X-Patchwork-Id: 128147 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 B756342C39; Tue, 6 Jun 2023 04:28:29 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 483C5410F2; Tue, 6 Jun 2023 04:28:29 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 8FBC3406B7 for ; Tue, 6 Jun 2023 04:28:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686018507; x=1717554507; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2uorDJK5FAmPQ+Ey4bUPF6afAP/UCP0C3WsDRNdxmEA=; b=cOb9tuJWN4zeZ2NkIRZZqyYkcoyuzK1ysYjtZr/Z7SF65kBTbrxSzfFL CjUckj65T/7mJ3dmLZ5oRcPvhXU3B1+5h41yIDe4HzeTQqu91SQ4czsZd KAKb8Hh9O/do+dJRJRWnWQbhCVqe5r/a91p2xC+jTd/VdN1r+4I7JsV1H Bk75LQUBF6rLz7hQzNvIDvAlEKjlv/gGEH8weAAKiewkzc9cJnVGmjLZ5 ctCc+LQXPV0+2X/vhmn3/wP6Bj7R9AuyKM0Xme1S1QTDm2dVHI4iNIhT/ cfjRLic5ax9wEtMiZjybPlX27+RPtEUJaxDkBbzFec+kq9cZwx4HrzJLA Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="422368265" X-IronPort-AV: E=Sophos;i="6.00,219,1681196400"; d="scan'208";a="422368265" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 19:28:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="708891029" X-IronPort-AV: E=Sophos;i="6.00,219,1681196400"; d="scan'208";a="708891029" Received: from dpdk-beileix-3.sh.intel.com ([10.67.110.253]) by orsmga002.jf.intel.com with ESMTP; 05 Jun 2023 19:28:25 -0700 From: beilei.xing@intel.com To: jingjing.wu@intel.com Cc: dev@dpdk.org, mingxia.liu@intel.com, Beilei Xing Subject: [PATCH v10 00/14] net/cpfl: add hairpin queue support Date: Tue, 6 Jun 2023 10:03:10 +0000 Message-Id: <20230606100324.67659-1-beilei.xing@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20230605090641.36525-1-beilei.xing@intel.com> References: <20230605090641.36525-1-beilei.xing@intel.com> MIME-Version: 1.0 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 From: Beilei Xing This patchset adds hairpin queue support. v2 changes: - change hairpin rx queus configuration sequence. - code refine. v3 changes: - Refine the patchset based on the latest code. v4 change: - Remove hairpin rx buffer queue's sw_ring. - Change hairpin rx queus configuration sequence in cpfl_hairpin_bind function. - Refind hairpin queue setup and release. v5 change: - Fix memory leak during queue setup. - Refine hairpin Rxq/Txq start/stop. v6 change: - Add sign-off. v7 change: - Update cpfl.rst v8 change: - Fix Intel-compilation failure. v9 change: - Fix memory leak if fail to init queue group. - Change log level. v10 change: - Avoid accessing out-of-bounds. Beilei Xing (14): net/cpfl: refine structures common/idpf: support queue groups add/delete net/cpfl: add haipin queue group during vport init net/cpfl: support hairpin queue capbility get net/cpfl: support hairpin queue setup and release common/idpf: add queue config API net/cpfl: support hairpin queue configuration common/idpf: add switch queue API net/cpfl: support hairpin queue start/stop common/idpf: add irq map config API net/cpfl: enable write back based on ITR expire net/cpfl: support peer ports get net/cpfl: support hairpin bind/unbind doc: update the doc of CPFL PMD doc/guides/nics/cpfl.rst | 7 + drivers/common/idpf/idpf_common_device.c | 75 ++ drivers/common/idpf/idpf_common_device.h | 4 + drivers/common/idpf/idpf_common_virtchnl.c | 138 +++- drivers/common/idpf/idpf_common_virtchnl.h | 18 + drivers/common/idpf/version.map | 6 + drivers/net/cpfl/cpfl_ethdev.c | 613 ++++++++++++++-- drivers/net/cpfl/cpfl_ethdev.h | 35 +- drivers/net/cpfl/cpfl_rxtx.c | 789 +++++++++++++++++++-- drivers/net/cpfl/cpfl_rxtx.h | 76 ++ drivers/net/cpfl/cpfl_rxtx_vec_common.h | 21 +- 11 files changed, 1663 insertions(+), 119 deletions(-) Acked-by: Jingjing Wu