From patchwork Mon Oct 4 23:55:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Malov X-Patchwork-Id: 100463 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 BC19AA0C41; Tue, 5 Oct 2021 01:56:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 50A9E410DC; Tue, 5 Oct 2021 01:56:12 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id 9325740688 for ; Tue, 5 Oct 2021 01:56:11 +0200 (CEST) Received: from localhost.localdomain (unknown [5.144.120.137]) (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 0BD407F504 for ; Tue, 5 Oct 2021 02:56:11 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 0BD407F504 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1633391771; bh=3p+tcGXVb3X9LTga/BaXRyK9B9G71DFShdAO28P1Dy8=; h=From:To:Subject:Date:In-Reply-To:References; b=ubkUg8L8NpyG0JsLyBfkr4PyMNB8VcEl3RdtpGJvIxGukDdfB0Xl38OJHYdUUbbl4 HwPr9VyDOrBBrqRPJklGHdpEkEdiQZIWhontSockuw2KHL7nmn9+NIADML7ac/U9dS ADZ2K8zybjdzuzAqnLNH4v3YkyEM96ph5xrztXQk= From: Ivan Malov To: dev@dpdk.org Date: Tue, 5 Oct 2021 02:55:48 +0300 Message-Id: <20211004235558.14593-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 v2 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 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 | 48 +++ 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, 1311 insertions(+), 70 deletions(-) create mode 100644 drivers/net/sfc/sfc_flow_tunnel.c create mode 100644 drivers/net/sfc/sfc_flow_tunnel.h