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 3CE8D45CA4; Thu, 7 Nov 2024 17:30:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2CC8E42F8F; Thu, 7 Nov 2024 17:30:45 +0100 (CET) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mails.dpdk.org (Postfix) with ESMTP id 05BA042E45 for ; Thu, 7 Nov 2024 17:30:44 +0100 (CET) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-20cdb889222so12781845ad.3 for ; Thu, 07 Nov 2024 08:30:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1730997043; x=1731601843; 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=Ym1TPEP6QHxvUql/7xEdeCIF7dhXmXRBpC9xDX92eq4=; b=PzjnODL1ORxAidLrR+h2wOqMYeTkij0kqm3B14rET6qkiC/XV7N8/WnZRcLLiCcaBI Bx9zlftm7gNrdpTRSJMb0Gf+ffGnZNbyYHh7lJei5nnY7kcuPJwFXqjL5HmmILUyw56Z UUWJ5Xzcs8h5s0O3s8V3cZyzC/SgZ3bLdWO3G2MjxPmFWIEVxKikTdEDmP01cJCfj4pz uauk3UJlMK3v9bA9PWZcwy1TIJ4NunEIsSLp2ZTVb744WHP/dhcVrOtSNRFvcNZAuyN2 2McW8nfxiPN+K1ZfPMrkQs3rvjNvmLTl+PoN65NxXoI7aoCipF0HZ3POQtNh8JljXMEx cBug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730997043; x=1731601843; 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=Ym1TPEP6QHxvUql/7xEdeCIF7dhXmXRBpC9xDX92eq4=; b=bUkKZBfhHdggE15SD+YLAoRXiUuk8N7ZyvOSzG61FNK/k76MUCB6pOh14kLT6OuCIR JaiGTAPnB9WikDJa2HH1N5hL3ZrM0gCdz7vsetMrkXJ8uyTop0lYo6iT5MsM7iRVFVLA 8wZay0SjFXME0iBzZwvxbCLvyJOUstwuuFNy7Qo0fL73Gluwn5y/rEIT5itiVeq/bzMc tHpbn6XLj0Mr9S3SAYtWv+Xpv010Pkx/jHCXX7ijO9DppU50gEIs3POdhh9EwMTx4AWN EdBFm/4TkJMoSTkrv+8kxc7usZ88u5+dDRALOswQYdB9tbtyyEyjzR2YO3qs096UbftZ WXTw== X-Forwarded-Encrypted: i=1; AJvYcCW4M+Cz+0THF6wIMCvsbvlFHHSnCPx8keuRn7cVtbagzocTheutuvplpu2dq9JF4QaIjiU=@dpdk.org X-Gm-Message-State: AOJu0Yyw7kBvZU5pXBEuSNHG+mDIzDlBd9wxiPf5v9qcbN7On4s5ELoC n19m7LJEqxhxxn/UyrkPHuRZ40sTGTK1WrycTOyIP67+oXM1m+FghOHeGscHxgk= X-Google-Smtp-Source: AGHT+IH4oF3F905BbLxoPZi2G3v7Vv2VubCJOFkVcpHAtErr6JXqd/RXxzc9owicbB4n3CppmbAR2A== X-Received: by 2002:a17:903:32cc:b0:20c:bda8:3a10 with SMTP id d9443c01a7336-2118120387emr6364985ad.37.1730997042973; Thu, 07 Nov 2024 08:30:42 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21177ddc940sm14206055ad.58.2024.11.07.08.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Nov 2024 08:30:42 -0800 (PST) Date: Thu, 7 Nov 2024 08:30:40 -0800 From: Stephen Hemminger To: Igor Gutorov Cc: Morten =?UTF-8?B?QnLDuHJ1cA==?= , dev@dpdk.org Subject: Re: RFC - Tap io_uring PMD Message-ID: <20241107083040.6baee56b@hermes.local> In-Reply-To: References: <20241030145644.0b97f23c@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35E9F858@smartserver.smartshare.dk> <20241031173450.26cdb54c@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35E9F86A@smartserver.smartshare.dk> <20241105105839.36c85e8f@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35E9F885@smartserver.smartshare.dk> <20241105152556.2e5b8f91@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35E9F886@smartserver.smartshare.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 Wed, 6 Nov 2024 03:52:51 +0300 Igor Gutorov wrote: > On Wed, Nov 6, 2024 at 2:54=E2=80=AFAM Morten Br=C3=B8rup wrote: > > =20 > > > From: Stephen Hemminger [mailto:stephen@networkplumber.org] > > > Sent: Wednesday, 6 November 2024 00.26 > > > > > > On Wed, 6 Nov 2024 00:22:19 +0100 > > > Morten Br=C3=B8rup wrote: > > > =20 > > > > From what I understand, the TAP io_uring PMD only supports one RX = =20 > > > queue per port and one TX queue per port (i.e. per TAP interface). We > > > can take advantage of this: > > > > > > > > > No kernel tap support multi queue and we need to use that. =20 > > > > Maybe I got it wrong then... I thought you said fanout (of kernel->TAP = packets) would affect all fds associated with the TAP interface. > > How can the application then use multiple queues? > > > > Another thing is: > > For which purposes do applications need multi queue support for TAP, co= nsidering the interface is for management traffic only? =20 >=20 > I've previously used net_pcap as well as net_af_packet PMDs for > debugging/testing and even benchmarking purposes. I'd set up a > software interface, then feed test traffic via `tcpreplay`. > Some of the limitations I've encountered are: >=20 > - net_af_packet does not report received/missed packet counters > - net_pcap does not have multi queue support (AFAIK) >=20 > As an example, non symmetric RSS configurations may cause 2-way TCP > packets to be steered to different queues. If your application is a > worker-per-queue application with no shared state, you might want to > have these packets to be steered to the same queue instead. Without > multi queue, you can't easily test against scenarios like that. >=20 > Though, as you've said, if TAP is for management only, perhaps I was > trying to use the wrong tool for the wrong job. > In the end, I ended up getting a real two port NIC (feeding traffic > from one port to the other) because software PMDs are not similar > enough to the actual hardware. DPDK interactions with kernel devices is complicated, there are overlapping drivers: - TAP - uses Linux tap device - PCAP - uses libpcap which ends up using af_packet - AF_PACKET - uses af_packet - AF_XDP - uses XDP - Virtio user - relies on vhost in kernel There are lots of differences in performance, control usage, and other details between these. The proposal is to do simpler faster version of the TAP. Will also do some comparisons and detail (maybe presentation or document) on all the others later. So far, have a basic driver that does setup and basic management operations; still working on details of the ring stuff.