From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9BAD64408D; Tue, 21 May 2024 22:14:16 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 20A024021F; Tue, 21 May 2024 22:14:16 +0200 (CEST) Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by mails.dpdk.org (Postfix) with ESMTP id 078F3400D7 for ; Tue, 21 May 2024 22:14:13 +0200 (CEST) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-1f2f566a7c7so77248705ad.1 for ; Tue, 21 May 2024 13:14:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1716322453; x=1716927253; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PgGko5RgNmIlyhZBFwP6JdNVob4as/3USsJ15T1+BAg=; b=nCaGaxn+9CumEnu91a+QPNqhVmsb5txIkIxNyPMpMrppmDBlDwHeYBTobd5YJQMehd Y3+rMsesLNs8GCQYvP2e7X7KGLJtLdOZn7FirK6DLtCwe6jhWD2G+yd4WaUZtXba8+2k QcQMkjrKLbBM0QZUypHPciFV2XGEYuEcxr8EDqod/fHna+/m44r6FPcA8/zu+zMQ9ks/ g827K9RbgMpGqX58zfb2BOdLwBQV99w8nrhQTOFAAui3c+IaT/hs/zUlvpmTzk5pOh62 EvlyR+x8PX189n68VQoZ/gac04xeI/AlYJAlCSy4T5Y43mNdMJbYE1yvfdID15TjbWqo V0Ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716322453; x=1716927253; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PgGko5RgNmIlyhZBFwP6JdNVob4as/3USsJ15T1+BAg=; b=VWJjg7cymgClZQgUITxj8cRpvzzAtgm2g/gd4x+iROY4WsWmoKsc4uBacPTpnA2DqC Ti8L9X3mW5FaMjPrjnrdi4USCvmT+aZ2Va9U6aD5DMZOpT2RZw1qn9x5sGFvjchPslkN bL4ZaNjzeMLNKpRERk4/1K1PgEEnZZb/oBnt0kAFlmUhVpefwvNDpHqgMjFw1vVI1dEE IAoRVcMcqYKP7a5Gqj4Al+4ktCNdTq/CF1IiPxTiCmZsCvaiggyzN73KbbE2N6BYZiwA cG9Yio1QTuLwKgreQExuf9fqNJ9hErMSNy4tcBSLYqGN52X9HBsjVjEym05GaGZVhm/f gnqg== X-Gm-Message-State: AOJu0YxY9pn2dMebLbyzO41OP6Ei7AjOfqyg8PdhemGMQ9tevgc5i2jU gxxWEfdzbw1isiXWe9hEoqvFH1KJk+6e1miOANv+sKeALnSB06o+dNK/59UrJFx7uVkCe3ym8uX t X-Google-Smtp-Source: AGHT+IEREJoxwDrlAGHUk8G1cFl1g80jPt9FfRIzL5D5pscoS76VJ+4O3FZo5sEah4zBbAuHoOpeYw== X-Received: by 2002:a17:902:7b86:b0:1f3:135c:f71e with SMTP id d9443c01a7336-1f31c97bf8fmr251025ad.20.1716322452838; Tue, 21 May 2024 13:14:12 -0700 (PDT) Received: from hermes.lan (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f2fccc9d16sm45509895ad.31.2024.05.21.13.14.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 May 2024 13:14:12 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [PATCH v15 00/11] net/tap: make RSS work again Date: Tue, 21 May 2024 13:12:45 -0700 Message-ID: <20240521201410.126116-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240130034925.44869-1-stephen@networkplumber.org> References: <20240130034925.44869-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 The support of doing RSS for rte_flow_action was a cool idea but it has been broken for several releases of DPDK as the underlying kernel and BPF infrastructure changed. This series cleans up the BPF program, implements several features that were never completed in the original code and changes to use the current BPF tool chain. The result should be easier to read and maintain. I do not intend to support backporting this to stable releases due to lack of demand and dealing with older distros. v15 - fix formatting in new release note Stephen Hemminger (11): net/tap: fix fd check in flow_isolate net/tap: do not duplicate fd's net/tap: remove unused fields net/tap: validate and setup parameters for BPF RSS net/tap: do not build flow support if header is out of date net/tap: rewrite the RSS BPF program net/tap: use libbpf to load new BPF program net/tap: remove no longer used files net/tap: simplify internals net/tap: remove extraneous newlines net/tap: update documentation .gitignore | 3 - doc/guides/nics/tap.rst | 274 ++-- doc/guides/rel_notes/release_24_07.rst | 7 + drivers/net/tap/bpf/Makefile | 19 - drivers/net/tap/bpf/README | 49 + drivers/net/tap/bpf/bpf_api.h | 276 ---- drivers/net/tap/bpf/bpf_elf.h | 53 - drivers/net/tap/bpf/bpf_extract.py | 86 -- drivers/net/tap/bpf/meson.build | 94 ++ drivers/net/tap/bpf/tap_bpf_program.c | 255 ---- drivers/net/tap/bpf/tap_rss.c | 267 ++++ drivers/net/tap/meson.build | 42 +- drivers/net/tap/rte_eth_tap.c | 373 +++-- drivers/net/tap/rte_eth_tap.h | 42 +- drivers/net/tap/tap_bpf.h | 121 -- drivers/net/tap/tap_bpf_api.c | 190 --- drivers/net/tap/tap_bpf_insns.h | 1743 ------------------------ drivers/net/tap/tap_flow.c | 565 +++----- drivers/net/tap/tap_flow.h | 17 +- drivers/net/tap/tap_intr.c | 7 +- drivers/net/tap/tap_rss.h | 21 +- drivers/net/tap/tap_tcmsgs.h | 4 +- 22 files changed, 896 insertions(+), 3612 deletions(-) delete mode 100644 drivers/net/tap/bpf/Makefile create mode 100644 drivers/net/tap/bpf/README delete mode 100644 drivers/net/tap/bpf/bpf_api.h delete mode 100644 drivers/net/tap/bpf/bpf_elf.h delete mode 100644 drivers/net/tap/bpf/bpf_extract.py create mode 100644 drivers/net/tap/bpf/meson.build delete mode 100644 drivers/net/tap/bpf/tap_bpf_program.c create mode 100644 drivers/net/tap/bpf/tap_rss.c delete mode 100644 drivers/net/tap/tap_bpf.h delete mode 100644 drivers/net/tap/tap_bpf_api.c delete mode 100644 drivers/net/tap/tap_bpf_insns.h -- 2.43.0