From patchwork Wed Feb 7 22:11:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 625 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 29D1243AAD; Wed, 7 Feb 2024 23:16:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 056FB4027D; Wed, 7 Feb 2024 23:16:28 +0100 (CET) Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) by mails.dpdk.org (Postfix) with ESMTP id EA70740268 for ; Wed, 7 Feb 2024 23:16:25 +0100 (CET) Received: by mail-oi1-f173.google.com with SMTP id 5614622812f47-3bfdb84c0ebso645946b6e.1 for ; Wed, 07 Feb 2024 14:16:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1707344185; x=1707948985; 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=9ngWM44GcGeWNewsLXP/EWLzqtLK1vWKuz6HxC6YhkY=; b=w32vn+XZix8+kHTbLm4e1rc4mZqa8Svq/qrTvJqNAoRaxYuAMU84absFJIMxBMyia9 RTwQFOffUrMXEknbE1ijiGCiehX077AiY25+jfu/hnNgSr58vRNNRF+Uk3mAuu/o0vB1 OAqJ8QcOExWe+BMKQWGsvvj3I43rPbjdRbSJpxJ8D1SOZn4cTeFeMzhEhtG+0T0j085d 5QNMc7D5UBGVOherP2RH9/Y+xcIQBu96vs8GOph5ZdOwQRGzpwGJgYR9xspE2v/zSDLT 2/zUOI+QL5ZCDrfqytruJDyJPH/NH6k7ct4QpBD6LdDmnkCCRbN4QgqO4rG3QO3rDPUg ORBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707344185; x=1707948985; 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=9ngWM44GcGeWNewsLXP/EWLzqtLK1vWKuz6HxC6YhkY=; b=TphkSGrI1aVjYctwgGm+ZzfY6diVqUM9E0XFZZZIKLvcNWK65B5UtfdNVY7GlUV0TE HIb+8xUxGi0pLXoufCPaZUzl/E9J/iwTA9csfoRlc6qYs50ZFM3+cxlOB1Crcw1lvBCT h2ci2O463WMRNn6eZlFFJy1siJdZSFgFznI5iyLd1ouw5jYivN38HDalW25refZgLujg XSK9hlnCBbd331/4cu5a8D2dR22A+zd1Hj+d5uCVWTkCPdQutf40mNBXP1LF8TEpAnDQ tLuWwPS789jaZPnwb8p3X3BWzhiLV1o684ilXBu4AtoFy/CmsmndDdRRcdWnogAX/4iG CR9A== X-Gm-Message-State: AOJu0Yyk/jYjrPyznPgEWkWy2RYUIJRsIWfvVflBfh8puS12BEckUBPB scVuIBnb5cwmUzmJFSs4WK+iUm+SQhLWLUEkElV7l6s4hm9hssRoHpi8dK8z/mFYULS74wiPS52 D3mE= X-Google-Smtp-Source: AGHT+IGvFy0EGtMrj/c70KgwHC8xfq6U+cOnUH0UYDfp3dzK9XkKgWqAYaYnq5rGgqIWS9tdoBa8tA== X-Received: by 2002:a05:6358:99aa:b0:176:6144:df9f with SMTP id j42-20020a05635899aa00b001766144df9fmr3971255rwb.28.1707344185048; Wed, 07 Feb 2024 14:16:25 -0800 (PST) Received: from hermes.lan (204-195-123-141.wavecable.com. [204.195.123.141]) by smtp.gmail.com with ESMTPSA id w70-20020a638249000000b005d5445349edsm2166075pgd.19.2024.02.07.14.16.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Feb 2024 14:16:24 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [PATCH v2 0/7] net/tap: RSS using BPF overhaul Date: Wed, 7 Feb 2024 14:11:18 -0800 Message-ID: <20240207221623.195157-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. The build process checks for the required components and if not there will stub out to not supported. This patch series is mostly the same as the original RFC, most of the changes are to split it up and always build the BPF from source. Stephen Hemminger (7): net/tap: remove unused RSS hash types net/tap: validate and setup parameters for BPF RSS net/tap: stop "vendoring" linux bpf headers net/tap: rewrite the RSS BPF program net/tap: use libbpf to load new BPF program net/tap: remove no longer used files MAINTAINERS: add maintainer for TAP device .gitignore | 3 - MAINTAINERS | 1 + drivers/net/tap/bpf/Makefile | 19 - drivers/net/tap/bpf/README | 12 + 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 | 81 ++ drivers/net/tap/bpf/tap_bpf_program.c | 255 ---- drivers/net/tap/bpf/tap_rss.c | 272 ++++ drivers/net/tap/meson.build | 26 +- drivers/net/tap/rte_eth_tap.c | 2 + drivers/net/tap/rte_eth_tap.h | 9 +- 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 | 531 +++----- drivers/net/tap/tap_flow.h | 11 +- drivers/net/tap/tap_rss.h | 14 +- drivers/net/tap/tap_rss.stub.h | 45 + drivers/net/tap/tap_tcmsgs.h | 4 +- 21 files changed, 584 insertions(+), 3170 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 create mode 100644 drivers/net/tap/tap_rss.stub.h