From patchwork Wed Oct 13 00:24:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Malov X-Patchwork-Id: 101280 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 E0521A0C4D; Wed, 13 Oct 2021 02:24:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5FE0140142; Wed, 13 Oct 2021 02:24:29 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id E3E5B4003C for ; Wed, 13 Oct 2021 02:24:28 +0200 (CEST) Received: from localhost.localdomain (unknown [5.144.120.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id 6D96A7F596; Wed, 13 Oct 2021 03:24:28 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 6D96A7F596 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1634084668; bh=lDUJRHvluFOts+7tQ1vw124PbCXpdKiw5Qo0gKr55Fg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=u4VR9eCZfugTFSmlwHqTc30mXmaI8sNjVM4WJdNEDyWb5LN5XomAX5/o8CgNV+ylP M5rQSWHqk71/fJhgMH/Xi+izMzj+ZTJftCVp8rxwas+8p5sTugsIQ7Bag21UqO5XSH k6GbR/bpgMNFtQllWu8IoQTXRwpegY7Jqa5NfKIY= From: Ivan Malov To: dev@dpdk.org Cc: Ferruh Yigit Date: Wed, 13 Oct 2021 03:24:05 +0300 Message-Id: <20211013002415.24453-1-ivan.malov@oktetlabs.ru> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210929205730.775-1-ivan.malov@oktetlabs.ru> References: <20210929205730.775-1-ivan.malov@oktetlabs.ru> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 00/10] net/sfc: add support for tunnel offload 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" The first 6 patches comprise the fundamental part of the series. They are trying to be future-proof with respect to the planned HW/FW changes. 4 more patches form the adaptation part of some sort to make the offload work on the currently available HW/FW. This patch series should be applied on top of another patch series named "A means to negotiate delivery of Rx meta data": https://patches.dpdk.org/project/dpdk/list/?series=19373 Changes in v2: * Rebase on top of v4 of the above mentioned patch series Changes in v3: * Rebase as per request by Ferruh Yigit Ivan Malov (10): net/sfc: fence off 8 bits in Rx mark for tunnel offload common/sfc_efx/base: add API to set RECIRC ID in outer rules net/sfc: support JUMP flows in tunnel offload common/sfc_efx/base: add RECIRC ID match in action rules API net/sfc: support GROUP flows in tunnel offload net/sfc: implement control path operations in tunnel offload net/sfc: override match on ETH in tunnel offload JUMP rules net/sfc: use action rules in tunnel offload JUMP rules net/sfc: support counters in tunnel offload JUMP rules net/sfc: refine pattern of GROUP flows in tunnel offload drivers/common/sfc_efx/base/efx.h | 22 ++ drivers/common/sfc_efx/base/efx_impl.h | 1 + drivers/common/sfc_efx/base/efx_mae.c | 60 +++- drivers/common/sfc_efx/version.map | 2 + drivers/net/sfc/meson.build | 1 + drivers/net/sfc/sfc.h | 3 + drivers/net/sfc/sfc_dp.c | 47 +++ drivers/net/sfc/sfc_dp.h | 9 + drivers/net/sfc/sfc_dp_rx.h | 3 + drivers/net/sfc/sfc_ef100_rx.c | 26 +- drivers/net/sfc/sfc_ethdev.c | 4 + drivers/net/sfc/sfc_flow.c | 53 ++- drivers/net/sfc/sfc_flow.h | 14 + drivers/net/sfc/sfc_flow_tunnel.c | 480 +++++++++++++++++++++++++ drivers/net/sfc/sfc_flow_tunnel.h | 117 ++++++ drivers/net/sfc/sfc_mae.c | 472 +++++++++++++++++++++--- drivers/net/sfc/sfc_mae.h | 12 + drivers/net/sfc/sfc_mae_counter.c | 41 ++- drivers/net/sfc/sfc_mae_counter.h | 3 + drivers/net/sfc/sfc_rx.c | 10 +- 20 files changed, 1310 insertions(+), 70 deletions(-) create mode 100644 drivers/net/sfc/sfc_flow_tunnel.c create mode 100644 drivers/net/sfc/sfc_flow_tunnel.h