From patchwork Mon Jun 5 09:06:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xing, Beilei" X-Patchwork-Id: 128102 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 417FB42C34; Mon, 5 Jun 2023 11:32:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3217440ED6; Mon, 5 Jun 2023 11:32:00 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 864C84003C for ; Mon, 5 Jun 2023 11:31:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685957518; x=1717493518; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Gt7V3LUUQeay/NfSv8nqh+74sQlYWDDubreT1/znAzk=; b=dz9HLOcCMXNz2ng/RTCiGMgRGyDp0JfFlWSPxvdvgaCyJv4M0cZcc9+r 0GwTyZ0Q+8bzw2fG4QYeTK7+m1sUU1JgDq5tqj5ab6zGYNAudFv5YMzuU /L/2XMuoXEGYRTMWgkmHPqTbOVJ18XBTwCeLfAuLVMuNP3mhwgZ5GaTJJ 39G6/qKlZ3YCWYzk27AsTXBnCFACM9No3bK0aW54cu5Vq6oLg4hI6TKUw leT80NUdR/UzA4QPcjKv+P5hNswFmtqlkdN5HlyGTpbjDHNfiP9dET+zR 6rbNXV3doKKQA09ou0Ktvlrfu1GUXDJ30ktIJ0O+1BskfOcGjxfjB9ViI A==; X-IronPort-AV: E=McAfee;i="6600,9927,10731"; a="355181040" X-IronPort-AV: E=Sophos;i="6.00,217,1681196400"; d="scan'208";a="355181040" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 02:31:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10731"; a="741651990" X-IronPort-AV: E=Sophos;i="6.00,217,1681196400"; d="scan'208";a="741651990" Received: from dpdk-beileix-3.sh.intel.com ([10.67.110.253]) by orsmga001.jf.intel.com with ESMTP; 05 Jun 2023 02:31:51 -0700 From: beilei.xing@intel.com To: jingjing.wu@intel.com Cc: dev@dpdk.org, mingxia.liu@intel.com, Beilei Xing Subject: [PATCH v9 00/14] net/cpfl: add hairpin queue support Date: Mon, 5 Jun 2023 09:06:27 +0000 Message-Id: <20230605090641.36525-1-beilei.xing@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20230605061724.88130-1-beilei.xing@intel.com> References: <20230605061724.88130-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. 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 | 612 ++++++++++++++-- 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, 1662 insertions(+), 119 deletions(-)