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 6038443AD1; Sat, 10 Feb 2024 03:09:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E0A5D40297; Sat, 10 Feb 2024 03:09:54 +0100 (CET) Received: from mail-ot1-f52.google.com (mail-ot1-f52.google.com [209.85.210.52]) by mails.dpdk.org (Postfix) with ESMTP id C307040150 for ; Sat, 10 Feb 2024 03:09:52 +0100 (CET) Received: by mail-ot1-f52.google.com with SMTP id 46e09a7af769-6e2c680f91aso620865a34.3 for ; Fri, 09 Feb 2024 18:09:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1707530992; x=1708135792; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=IIaOUa5KfXHyQjR+WtGaYZPWr91t9IAh2Pe3N3VBOco=; b=ly+OB7PXY4tPWx5D9aHlBHpzxs9CuRY3b2Ifg5aeRhxlZ36IcXkueHZQOtojU4lqbO shs0i2dYDpu+4pVF3mQftTOOZVIc8NhguFnNLiHwzdRVuH3hszUs11xrbgQaOl1zvDAz QuTlcWcWs1ZwH6pQwtOzNLHAvUBAuqre31LI9WDttQ98tavS+3G/Leh7m1QSjb1BxE/T cSNtxcagIYwy4F1XxDshMyqSB283LFnSuncrUyvcdJabzZG4K+W9Rv6nYfKG1oqJ6cmq JmLPxD/A3jUItk9z6TobeAegFzPJRSaPNyVzTNWQxXcmvkq+g7VyV9ry+E6E5YBkBFck t9FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707530992; x=1708135792; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IIaOUa5KfXHyQjR+WtGaYZPWr91t9IAh2Pe3N3VBOco=; b=jwJOXOidHw18bJZeJZOwl/5LQ2rA/bCrgCoXrnTwQU+88aiwDleIfAjBw2uzf2Hv26 +tjE8LTzZs8uNcL2UJOA1+2gDhthjgxl62H1wR2+HwVKrhcLd7MFEDa7pgCb92Jc6Fi3 BHNhl9bmkeVjzbYiJv7yq6Rg9wlvGHTQ12uoGw8+hWrcmXZL5wVjdDnB09i1hDTK2s8Z tw9z+zeHLuJi1IRx4rQrNSQf26GsLGr5md9ew0bbUOIu/zxNgzZwNhqJbRinnALbxAi/ 1EbjPjWwiKKI2EpOkhMZd3GPklpwOpHfMO9euinNJNu4s2vgpJJxmcKXdaOZIiboNsi2 7mrg== X-Gm-Message-State: AOJu0Yxp8Q1KfIIU7K/7A4BcjYHJrvLK28LpUuTs1z4iUd/GyIeHFRT7 Pte7LvzzWxAu2/8eJSsQztp/vuYdBndHyOpMkKdIAPDp5Z3wWufBPTfk8Oln4Ic= X-Google-Smtp-Source: AGHT+IGIS9n47/Zriy9kTiIplBMPmXli1jS8bJIvqm6iknzbQeoL5kUOrchnJIVBl5AJbpHOIfYyCw== X-Received: by 2002:a05:6830:18f1:b0:6e0:ddf9:2cb2 with SMTP id d17-20020a05683018f100b006e0ddf92cb2mr901423otf.4.1707530991803; Fri, 09 Feb 2024 18:09:51 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCXws/yxUe0MsuDCF33rJjuDjU1hoUn+BW7R1Sq39h37DODFlvXmbGN2/99/pbN7OtCwHxVNZgclfbjYCXYDyaCj Received: from hermes.local (204-195-123-141.wavecable.com. [204.195.123.141]) by smtp.gmail.com with ESMTPSA id a25-20020a62d419000000b006e03e9aa14csm1276102pfh.108.2024.02.09.18.09.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Feb 2024 18:09:51 -0800 (PST) Date: Fri, 9 Feb 2024 18:09:48 -0800 From: Stephen Hemminger To: Ferruh Yigit Cc: dev@dpdk.org, Luca Boccassi Subject: Re: [PATCH v4 4/7] net/tap: rewrite the RSS BPF program Message-ID: <20240209180948.1fc905ee@hermes.local> In-Reply-To: References: <20240130034925.44869-1-stephen@networkplumber.org> <20240208190827.332368-1-stephen@networkplumber.org> <20240208190827.332368-5-stephen@networkplumber.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 On Sat, 10 Feb 2024 00:54:15 +0000 Ferruh Yigit wrote: > On 2/8/2024 7:05 PM, Stephen Hemminger wrote: > > Rewrite the BPF program used to do queue based RSS. > > Important changes: > > - uses newer BPF map format BTF > > - accepts key as parameter rather than constant default > > - can do L3 or L4 hashing > > - supports IPv4 options > > - supports IPv6 extension headers > > - restructured for readability > > > > The usage of BPF is different as well: > > - the incoming configuration is looked up based on > > class parameters rather than patching the BPF. > > - the resulting queue is placed in skb rather > > than requiring a second pass through classifier step. > > > > Note: This version only works with later patch to enable it on > > the DPDK driver side. It is submitted as an incremental patch > > to allow for easier review. Bisection still works because > > the old instruction are still present for now. > > > > Signed-off-by: Stephen Hemminger > > <...> > > > diff --git a/drivers/net/tap/bpf/meson.build b/drivers/net/tap/bpf/meson.build > > new file mode 100644 > > index 000000000000..f2c03a19fd4d > > --- /dev/null > > +++ b/drivers/net/tap/bpf/meson.build > > @@ -0,0 +1,81 @@ > > +# SPDX-License-Identifier: BSD-3-Clause > > +# Copyright 2024 Stephen Hemminger > > + > > +enable_tap_rss = false > > + > > +libbpf = dependency('libbpf', required: false, method: 'pkg-config') > > +if not libbpf.found() > > + message('net/tap: no RSS support missing libbpf') > > + subdir_done() > > +endif > > + > > +# Debian install this in /usr/sbin which is not in $PATH > > +bpftool = find_program('bpftool', '/usr/sbin/bpftool', required: false, version: '>= 5.6.0') > > +if not bpftool.found() > > + message('net/tap: no RSS support missing bpftool') > > + subdir_done() > > +endif > > > > I am getting following build error: > ' > drivers/net/tap/bpf/meson.build:13:10: ERROR: Command `/usr/sbin/bpftool > --version` failed with status 2. > ' > > There is a '/usr/sbin/bpftool' file but it is a script and gives > following message when run: > "WARNING: bpftool not found for kernel 6.5.0-15" > > This is with "Ubuntu 22.04.3 LTS" > > > Overall thanks for fixing tap BPF support. Just set up an equivalent Ubuntu VM 22.04 VM and made sure all packages were up to date. Looks like Ubuntu borked the packaging of bpftool. Maybe Luca has some insight. shemminger@ubuntu-22-04:~/dpdk$ sudo apt install libbpf-dev bpftool Reading package lists... Done Building dependency tree... Done Reading state information... Done Package bpftool is a virtual package provided by: linux-nvidia-6.2-tools-common 6.2.0-1003.3~22.04.1 linux-lowlatency-hwe-6.5-tools-common 6.5.0-17.17.1.1.1~22.04.1 linux-hwe-6.5-tools-common 6.5.0-17.17~22.04.1 linux-hwe-6.2-tools-common 6.2.0-39.40~22.04.1 You should explicitly select one to install.