From patchwork Thu May 2 02:49:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 906 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 476CB43F63; Thu, 2 May 2024 04:52:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BCB29402C0; Thu, 2 May 2024 04:52:12 +0200 (CEST) Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) by mails.dpdk.org (Postfix) with ESMTP id 995204026F for ; Thu, 2 May 2024 04:52:11 +0200 (CEST) Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-3c70e46f3caso4484850b6e.2 for ; Wed, 01 May 2024 19:52:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1714618331; x=1715223131; 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=OVbi1zmyumSfMi8Dc1B15n6XN/y5kGWZ26E+23cAJUk=; b=yVz75EnxPg0NBqAXbnnjY2wXD5OrMN25MXrcUiioNP9nM2fJqpCbSG7K4bsVBbZ2o4 1VrJOy3WTKB6koQ172PtNoKUt0B7xKRyqL9ZFtUKM6kNkV9lrlusQ/0Mw/HKVKk9h+4d jZ9Jvg6oUNxQQTz3e7wi7f2UwcCYV6bM6psYWqHKEDFDr4uHYaA3ex4JX4iuAQJvdEmq 0AicOZVc21r9iqK2/T0tkUaX04wGUzTQfmXpO/C3qmHnbPybwYgr8dk76BCIpddyczve S6qSH9baTNkx1N7Q7C7MZux/Lyxx0WcMegR/cY/2d8iOIlyOnE307q6n/QoNCMFyULKZ DJyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714618331; x=1715223131; 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=OVbi1zmyumSfMi8Dc1B15n6XN/y5kGWZ26E+23cAJUk=; b=hGISWnQZPJxEUkzb8KjC9MounzYT65Q1jEx6QxxBoA/4trlSGbsP3jO++r8s9X3LoJ YZZHiXllq7hcBtBMFhZxfpqZZ9NhTBfhyGhrjq06i412Exq1X6AVyxKeSDuCTNfMrPcd KF7BOkvof9msAf7oZx+M2+TmBdPV7uTQTRNeYPBjugtjitgQSn+PW4CdxssUk6Y6YvcX Xzlv9jcDV+GDhdv5+WigJanfXJMFldUrHKHDLKJ0ncVcN1IRH4YEh0uuRZazFQd8BNjr o+Ni0oa3qRNiQK83XEFwc48l2rGIXBoYFcEfZWdzPZf/zR0Clfc80CLnk71iKt6UIgpi +xaA== X-Gm-Message-State: AOJu0Yzk/ON2M8OYcO8kCiiLRmboWBjib0+WKVJIxBY3D2tk4FLEaxkL sDjYg3OPohn8lCZhUX+TzFn+CFTaEnCCYjo/54hfIYsshIWGgiN1ZoInA2sZoO+Id8KTx/P9gGm Zoz8= X-Google-Smtp-Source: AGHT+IGQ4EyHJn5HB8SX7EHU9beGXNmm/eMZ5GOuKHSkEao+rsUgF/liF3RsGv4Nvxilm5cAuwB85w== X-Received: by 2002:a05:6808:13d1:b0:3c7:443f:1ae7 with SMTP id d17-20020a05680813d100b003c7443f1ae7mr1023563oiw.58.1714618330839; Wed, 01 May 2024 19:52:10 -0700 (PDT) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id z19-20020aa78893000000b006ecfc3a8d6csm104818pfe.124.2024.05.01.19.52.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 May 2024 19:52:10 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [PATCH v11 0/9] net/tap fix RSS (BPF) flow support Date: Wed, 1 May 2024 19:49:19 -0700 Message-ID: <20240502025201.28322-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 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 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 toolchain. 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. v11 - checkpatch and review comments add bugzilla id's Stephen Hemminger (9): 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: 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 | 334 ++--- drivers/net/tap/rte_eth_tap.h | 32 +- 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 | 557 ++------ 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, 881 insertions(+), 3583 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