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 80E904408C; Tue, 21 May 2024 19:07:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6CEEB40395; Tue, 21 May 2024 19:07:58 +0200 (CEST) Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) by mails.dpdk.org (Postfix) with ESMTP id B6900402F0 for ; Tue, 21 May 2024 19:07:57 +0200 (CEST) Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-6f43ee95078so1769240b3a.1 for ; Tue, 21 May 2024 10:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1716311277; x=1716916077; 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=xFY8nlj9mcxbKQsqJwxsSlTodZ6r0kGyfsHdfI1+tC4=; b=lZKsv8ArMYi6rZWUtkXD41q029wCdcE4SSRI57+BFoxL+TLe7IuHpNLg/Q8qmMauAp H8c+mI4UVDWi8IxmTNYoIX5Nf+FdzMOruwiuTlDoS6EqkYVntRSvEPZKKUpour0lKIsX VaFE1ceB+5iReJeySZNUwxr0N5ZaEupkIRRzwapfA7SJoAdeUSFew+clelZJMfHrfP88 533gfoFFnXsMIUngrsgBhsNdtFMB+YkwMdyNTSSasnZYRRby9z8sfIzGG1ZH+jCLY39F NARSXr2/8NtumlZO+5L8RlsPP3LYNrgXTKor04HnNBVmXBI1OMlLybNTLGanlCdQD4tL BzGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716311277; x=1716916077; 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=xFY8nlj9mcxbKQsqJwxsSlTodZ6r0kGyfsHdfI1+tC4=; b=Cajte5FundMa4zRL6awGfLvUDkaSAQ6iyPZxD8QqrCi0/PQ4V0h1qGE8kc3t00RzfI aTkaDm47iSqmJdgwV/Oh0Ygb4wL5uy8cC8bdo54LLSPW+pn98POCgH/xuHuIO78nZC8R 4olPIIjPqcDpnWKYc4trnyr2d/gh8GcYMBkIGrGkCd28yDN7sJV/i25qM+1q6yWyKzH1 KUhG30MkwgRWupIcsK2TxrAZE9Fxej+Q3BAOVsLziJm6E7sS1At/z/HdTuYGhJFhJcMx yFyjYaUofaOt6le0QxkZOrd5VM0zrzj2hOcGPXCCCwakHD6ZnMJoCSXdTiiBSu/GJ7s7 YTRw== X-Gm-Message-State: AOJu0YxUG/0ae+8szWoAB9hNMkBEO3+LSHyBTzqw74wcGS43MHJ3Pber J/UovnUjl8Odz8XKjxUo6xkPKlIAX6tYdzTHBYwHLQHBRCLjR+d8ilQl3xgHlkuv1fQ0e3349rt N X-Google-Smtp-Source: AGHT+IEngx2WMO+OIzkxS5zGlOc9RyZ0YD2IVc4xhj3d9HkDDhiY4kRf0/8Ns/seUfS8Uoqo9kNSWA== X-Received: by 2002:a05:6a00:3d07:b0:6ea:d740:62a4 with SMTP id d2e1a72fcca58-6f4e03466d2mr38265195b3a.25.1716311276858; Tue, 21 May 2024 10:07:56 -0700 (PDT) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-6f4d2af52b4sm21634041b3a.174.2024.05.21.10.07.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 May 2024 10:07:56 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [PATCH v14 00/11] net/tap: make RSS work again Date: Tue, 21 May 2024 10:06:00 -0700 Message-ID: <20240521170746.119330-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. v14 - fix indentation in meson.build file used by tap/bpf 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