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 AA3D64407F; Tue, 21 May 2024 04:49:29 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 42659402ED; Tue, 21 May 2024 04:49:29 +0200 (CEST) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mails.dpdk.org (Postfix) with ESMTP id 78F994021E for ; Tue, 21 May 2024 04:49:27 +0200 (CEST) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1f0937479f8so91582355ad.3 for ; Mon, 20 May 2024 19:49:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1716259766; x=1716864566; 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=zG5c0+13zO5Bzn5ml8zOQoMqQTNmC0OOd7mWfh+qpLY=; b=TAbj+ekpDTZdRGgsLsfuQCY3sPN94qznaEoQzOneJSBYnj0NL2PABl3+L6g9hKfGh4 VOhHq2M6gf7lyXlN2WlOv7gsUV/tJFl9AW8rpNWT3kjmYSwzXSpmNcfbLlzP1oA3rP8P 9YVUmdLD4XXGSm0LhLuQldLJmhV4VE5fakuou14knu0Dsa1H5ZpoQ2mvDPDRAFUZWCZJ W+BbiZTEyaZ+o51XRyykk4F0jhV8SDUn7UwdInos+wgMMNJYxABapatWlSyTswzMPc0C FLde9Zyl6yzR0y+PqbwgGE8FPmfQ41emBmwX+MWt0MMWCyMjxxvA32yh6WStK/d5pR7V x+4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716259766; x=1716864566; 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=zG5c0+13zO5Bzn5ml8zOQoMqQTNmC0OOd7mWfh+qpLY=; b=qqVQc1alXpPrkHZ/Z3Nrwldoj5FgFLSZSFnm2uBAmnR0nJvjFRcUXrcJd6jET0/X0F n9uJhbnTaZz/TPybbvIlsAeH8N3KLpfdd2eMgBsG6HMsI4khDQm98Oco7+y0j+pixatr m9oCm6dYnMvEF6xvfu26X8/UvMo/OXxaEqnuMOurzmH1QziShunNyE68ySc8Pdjd0JIh 8bt++mrSZ6IYfnPzRugg+dLFzzLx+OLxbbgm6tNojt8F/8GjdW9+D0yKrP49Yn98pRN9 9wCLrnNZBUaRF6PbJHmtneURAzIfYoMWNzsl1Xr1YEjbr6UIam5P39pWkqVv6Jef4pih 20nQ== X-Gm-Message-State: AOJu0YxJU/R9yix4GM+HP6/HrM8hUvMrWLcX8dEDcx+RhYEvPN2WArKV gY/VBvOBiQHDoL+ZrhnUF+BFJnmasNGoZ0PhHm/ydPZ/HsfiU6fKg3x31Mli8rzI93XinY0Kqez U X-Google-Smtp-Source: AGHT+IGOBjPdY6oCyI9whn3gG8mXKDWj0cYCuAdCkcNll21F0weoQqvP9OOnRSo1MrNUI9f2TT0N0g== X-Received: by 2002:a05:6a20:7295:b0:1af:cb73:c8f7 with SMTP id adf61e73a8af0-1afde10e2ffmr35006838637.30.1716259766536; Mon, 20 May 2024 19:49:26 -0700 (PDT) Received: from hermes.lan (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1ef0b9d4828sm209742315ad.20.2024.05.20.19.49.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 May 2024 19:49:26 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [PATCH v13 00/11] net/tap: make RSS work again Date: Mon, 20 May 2024 19:47:19 -0700 Message-ID: <20240521024923.150983-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. v13 - Incorporate review feedback. Drop change to statistics and queue full handling; these will get fixed in another series. 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 | 107 ++ 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, 909 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