From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=; dkim=pass header.d=herbertland.com; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=herbertland.com policy.dmarc=reject Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com [IPv6:2a00:1450:4864:20::22d]) by mail.toke.dk (Postfix) with ESMTPS id 451AA67DD37 for ; Sun, 14 Sep 2025 20:39:38 +0200 (CEST) Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-336dc57f562so29192601fa.1 for ; Sun, 14 Sep 2025 11:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland.com; s=google; t=1757875117; x=1758479917; darn=lists.bufferbloat.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=LmfHFaXqb9ZzUD+RZliVJ8/36Tz/7f3S59GCTXypMAY=; b=e6WRm9x+NIJH03G2x6E+Dq57IJb4tuKhkAvt63eVX7FsxHu24sWIAiujST8dO+pMUu al0Ll4WKqJhcs+wUCmOI3c+yrGNIfBEPUmuvRZiKogDn/s7KIKo08mcvRg3/AgaIkO0j duUqUSa1wyzswrjg2iTd/hA4B2GscrI5opPyTzUnceURrhfeDIRG4OJYFl5nnoYkWAJ4 3jcwcAfbbhEtqf/iAXRghM/cehmDJ33uE9+c4sb9cw3sUZeiqmU82v/uGEfhSF5u+QNS UHsXwmGm+67CDi3vJZQwtiyvQ1gMERbYb5Kp4hx9gX+wJmRPfJl8bNPq/5R/AHmV1wkE OgMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757875117; x=1758479917; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LmfHFaXqb9ZzUD+RZliVJ8/36Tz/7f3S59GCTXypMAY=; b=J+pZuqRvliUSe22XEVqi51wLnPGws6k3s6s6jJ0PmJNBy+PdKl5UwGX3NlwXKEtxH6 g+ZX3hCuEZTXk19ge57xUwtHOx1DCU09dp7/qrPYECn+SAQ3evNpw2PGZmsEhSFQeLQi fcwRYPCTA5TMQRsTH2snDOOIkf+mw12smCTrPJG1KjAgQo88qGGaBy8i2G+BRevblBxu 1GIwHrUNWlb5zDisHrUusCatUaH5fUJqKz/h3jHJjGjZkcGHCxJuMGR0mdh7v3ZA1pkQ TpqfylN8LXjn31kxv4SghE1WecFRO+iNifjWKOyAcW/t+CBq37k86ymDLRVzVk5V/MlW roMg== X-Forwarded-Encrypted: i=1; AJvYcCXcgv9Na0eSGdJ6rAAaGtAML3c3RPZT2hjPZENHmRJ+8wHcduGHj86C3p5/9TR9aoFQdRPe@lists.bufferbloat.net X-Gm-Message-State: AOJu0YzwnVzHbBjGx5QeSIcGl3Y6YMtMkilCOWZtPQKckzyAeH8Fkwup bKvrgh+wOPs5pqixvufriWbBUYi/Cwkqk+ROSPMt7sO980NKBNJm1vWn/84HomqBkSEtXG2Az7A UZbGsK91RuEgT4Qz8fRV0/tU6RLGSze4mjDghoOwZ X-Gm-Gg: ASbGncul8FD5JFVACDRFsN0yqO1BKysmFeh7eqnaVOWHd2G1vXBoWp88wYPi4bMrOUO X/+ETmCg0lqjdmWTBSigamkzCjZfRTyQPyQbykUi1Z6LqOiM/gi6cOEFNZlUpM53RgdseIl6Lor +aSMAv7rO/MIjox1TDKJ0SanmtatHM/NoMZ07Ueu7QU+AHTdalqKyCQ7vH1CkN3SrWD7M+Mf5Sa 9IyjZeTivNB7PkGGm9kNQqBBpBMipUBl1nSFUzi8JwLo7X4JAQ= X-Google-Smtp-Source: AGHT+IFGFcEQTjK1ISM50tgjK7ZuUGkiiy5SwvXZn+1sHPdVpLrsPWWuD+S47libm7G3NjYZwQ3dZxles3bnTJ6enFA= X-Received: by 2002:a05:651c:1687:b0:331:e799:978f with SMTP id 38308e7fff4ca-34e31b9cc5amr24998481fa.8.1757875117044; Sun, 14 Sep 2025 11:38:37 -0700 (PDT) MIME-Version: 1.0 References: <1757449551.421420786@apps.rackspace.com> <1757795591.523513612@apps.rackspace.com> <1757872814.374919035@apps.rackspace.com> In-Reply-To: <1757872814.374919035@apps.rackspace.com> From: Tom Herbert Date: Sun, 14 Sep 2025 11:38:25 -0700 X-Gm-Features: Ac12FXzry_yLZLvHfeNQ0uQSA_wudmBoL09TNVlCy0Ko56rZ0mQJ1OIAKR25JuA Message-ID: To: "David P. Reed" Cc: Frantisek Borsik , Cake List , codel@lists.bufferbloat.net, bloat , Jeremy Austin via Rpm Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 6UREMQSMP7Z6ZKFYFY67I4QSFDKR32HL X-Message-ID-Hash: 6UREMQSMP7Z6ZKFYFY67I4QSFDKR32HL X-MailFrom: tom@herbertland.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Subject: [Cake] Re: XDP2 is here - from one and only Tom Herbert (almost to the date, 10 years after XDP was released) List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Sun, Sep 14, 2025 at 11:00=E2=80=AFAM David P. Reed wrote: > > Tom - > > > > Well, we may have to disagree on whether eBPF is a good language/system = for writing networking stacks or interfacing to hardware devices. David, To be clear, XDP2 is NOT eBPF. Neither is it DPDK or P4 or any other execution environment. Neither is it a domain specific language like P4 or Restricted-C. It IS a programming model and API that allows dataplane code written in the language of the user's choice and can compile to their different targets including DPDK, eBPF, P4, FPGA, etc. If we give the user choices about the frontend language and backend targets, then all these pedantic debates about eBPF vs. P4 vs. DPDK vs. whatever pretty much becomes moot. Also the prospect of users having to maintain multiple code bases because they need to run in different execution environments goes away. Tom > > > > In case I wasn't particularly clear about eBPF, here's a summary of that = concern. > > Perhaps the biggest drawback (beyond the fact that it is a terrible langu= age) is that it's basically "sugared kretprobes" 1) its "abstractions" are = whatever the Linux (or other OS) kernel code design allows to be "exported"= within the kernel. You can't, for example, do co-routines or IPC that woul= d be appropriate for a clean network stack. Just what Linus and crew decide= to export symbols for. 2) Sadly eBPF is primarily maintained by folks who = merely want "hooks" in the kernel for performance analysis. (the original B= PF was for programming packet-processing pipelines). Its use for describing= the implementation of full network stacks in a clean way, down to and incl= uding the semantics of, say, 802.11 devices or 802.2 devices is a masterful= hack, but very much tied to the Linux kernel's control structure quirks. > > > > As a guy who's been developing operating systems since 1970 starting with= Multics and networking protocol implementations since 1976, I would never = have thought that eBPF or any language designed to kludge with random APIs = produced by a group like the Linux Kernel developers as a basis. There are = so many alternatives that are far better that what eBPF is. > > > > Go ahead and do whatever experiment you have planned. You don't need my a= pproval to base it on eBPF. > > > > Now, understand that I'm not saying DPDK is the answer either (nor is io_= uring). It's got a number of design drawbacks, too. The main benefit is tha= t it runs all the code in isolation from the monolithic kernel called Linux= , and allows real-time execution in ring3 with interprocessor communication= . I would throw most of the rest of DPDK away. I would think that your goal= s would be best suited by stepping back a bit. > > David > >