From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 85CAB43AB4;
	Thu,  8 Feb 2024 20:08:32 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id E6AC242DF9;
	Thu,  8 Feb 2024 20:08:31 +0100 (CET)
Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com
 [209.85.210.176])
 by mails.dpdk.org (Postfix) with ESMTP id 04E56402D1
 for <dev@dpdk.org>; Thu,  8 Feb 2024 20:08:29 +0100 (CET)
Received: by mail-pf1-f176.google.com with SMTP id
 d2e1a72fcca58-6da202aa138so122481b3a.2
 for <dev@dpdk.org>; Thu, 08 Feb 2024 11:08:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1707419309;
 x=1708024109; 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=qPjaLB2M0tVgFq+C8n/CDu4++R2alvqdATFtHvga98E=;
 b=Jv+UtrOnJwpE5OHDeAD/VQQRjBMS7ZySXouE7ZrpZVKe+5NAHKz2OTszQLQHl8h/a8
 T6QxCg/oCWunpU7zhaHJS2p2pqkPPuJw/7qAS+hFDua3DMlGvXSns8vHSdCICXW3qQDG
 BLoPfksDOJj5Ei865OVTWXxtfW/fSIgAHigfHmAZZS2skdgBEBqeexh9OFutGBVMhagT
 W3OQQ67i0hN6/jNMG9v+LiaU5s3gdoryQcIxsQGpsLSnNfNwf2dI0w8M4KjL2KpYQTMy
 GbdvhxAEezw5cyT3nKJ/yI8K8ZXjgDwnx+LLkmv4KpJpyjiblErHqAaXPK87QNjkKgru
 c+0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1707419309; x=1708024109;
 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=qPjaLB2M0tVgFq+C8n/CDu4++R2alvqdATFtHvga98E=;
 b=RmJB+348AKjwtNjx0bcacCL6SLd7C9KyWlvf86fDJcv/wn9dWTEqnJWFkPUX3OP43E
 rbFHaAn0vblFK+SPr+kphxry7apBclE6IWBhOlD48kXQUuYJweAgUw1QJPWiMk4bc68c
 chYEVBg90zvHEl+qR0MzETPQLdf24cR5rVlpenvcFsqQiNt2j5hmXU3Q0r7FxAtZnqs2
 /uynGQoWWdnl/OII8vn89kCay9rQP/++S6aAOyFQfhuNDYvoY8wJd3DWrbeArZUj47xf
 ncnBHZ6Qqz7BNmjPS2CtGouNp2kNzs0Q2w8hvuUMHR+xLFAvVQTHJGK/jZYvmSHZMo+C
 rBjA==
X-Gm-Message-State: AOJu0YyxaJffNSAdVT4hdKnHXOxnj1UXDqDu7GL8X3E/pHe6BK79lcDn
 eHWJwnUU/JORyb1cBBhch4aoKfPXLaCGq3niEVzL9jhQ3NZp1Xdgo0q9hClHCc5Zp5clCPkucNu
 kVQU=
X-Google-Smtp-Source: AGHT+IE2auqFMFt7YYbSwbDGjZ900nml4RFQFtaVOTq2RAN71vFkq4QgULQXrKyCb8Buh9tKs5ZYpQ==
X-Received: by 2002:a05:6a00:410f:b0:6de:3521:b3c2 with SMTP id
 bu15-20020a056a00410f00b006de3521b3c2mr229663pfb.11.1707419308979; 
 Thu, 08 Feb 2024 11:08:28 -0800 (PST)
Received: from hermes.lan (204-195-123-141.wavecable.com. [204.195.123.141])
 by smtp.gmail.com with ESMTPSA id
 z1-20020aa79901000000b006e053e98e1csm79951pff.136.2024.02.08.11.08.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 08 Feb 2024 11:08:28 -0800 (PST)
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [PATCH v4 0/7] net/tap: queue flow action RSS using BPF redo
Date: Thu,  8 Feb 2024 11:05:48 -0800
Message-ID: <20240208190827.332368-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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=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.

v4 - remove accidental inclusion of tap_bpf_program.o
     split number of queues from the number of RSS queue flows
     define number of queues one place

Stephen Hemminger (7):
  net/tap: remove unused RSS hash types
  net/tap: validate and setup parameters for BPF RSS
  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       |   82 ++
 drivers/net/tap/bpf/tap_bpf_program.c |  255 ----
 drivers/net/tap/bpf/tap_rss.c         |  272 ++++
 drivers/net/tap/meson.build           |   29 +-
 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            |  521 +++-----
 drivers/net/tap/tap_flow.h            |   16 +-
 drivers/net/tap/tap_rss.h             |   21 +-
 drivers/net/tap/tap_tcmsgs.h          |    4 +-
 20 files changed, 543 insertions(+), 3172 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