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-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) by mail.toke.dk (Postfix) with ESMTPS id 7F8A967DCFC for ; Sun, 14 Sep 2025 20:38:38 +0200 (CEST) Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-336dc57f562so29192591fa.1 for ; Sun, 14 Sep 2025 11:38: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=uk2HMlPjJb1nIjJpd8GwgKPsJ1EO0zhw3JWBh9YEwO9FB6TOSOylkOau49D1Ue4A5x r8+dEo+MI/0wYLY1/OkW/+o2fbX+D6xQPv7vjYlrtBIaUH0zhmzVPv81v6KoVUaboZdf bXbJ5K+ntAuV82raD/CvKkfpsbSnnPaXAPlKHwazpM4Rf2ZFwCO8FP4I0yPvCs6kH9KP HIMCo3RcMs09KvSpTWJ5+FVUGCaEzG/mEi8NHi7wAzafeWw8e9I7MSkOt+prOgkntB6F l0ZYeActigOVJS6YK1T4O7G6AEGOF992/R8Fg6NHbgxoTIKb+IxssKbLYBsIpKqugKyP jcxg== X-Forwarded-Encrypted: i=1; AJvYcCXfh2dVgC86stwALSnBihvI+BfyMlHNokXYpwCc/yY83sZVFlWD97zi9U4oUevyQuUT8IKATQ==@lists.bufferbloat.net X-Gm-Message-State: AOJu0YwpvNvw0Wi8vd8Mz0knvP9Vy5Ewr+waNhASTQ0iDvRCDn9FlwL9 FiBkrHvop6pjvBNeBFYTbLSZsLWFwpl6IkdNAjrU3y9AbOOKRy8a2TxhHmGCaQsF9KAm9uYHK2f ZXaaW3LupZmn3dfSccVsxOmWM+b4TogX2JbfYfWFK X-Gm-Gg: ASbGncvbLl8tR1FvwYeoRfWl3bWJAbHj4SQfmxtqCelXLkts1MAEfhA9IQqLjfAU+F/ 384I1VJpx03doJRWd7F7JhqYXRefMI/RRRrB6WuBXS3lvqnrX9IbRe/Ohh9gkAjkzCfTLSUaAKJ kWE9229x/4jPz5GeC9WkilH/l3St3Afmts/Igt3oJrldNLBebeXWk1h+YeOsdxs8T//V3SLEg9o LKsue4D3PWNEfPh0HrwhyQFKvUtTdhqUW22FgUxdvb9C9TiH6Q= 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 X-MailFrom: tom@herbertland.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation Message-ID-Hash: 6UREMQSMP7Z6ZKFYFY67I4QSFDKR32HL X-Message-ID-Hash: 6UREMQSMP7Z6ZKFYFY67I4QSFDKR32HL X-Mailman-Approved-At: Mon, 15 Sep 2025 13:05:03 +0200 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Codel] Re: [Cake] Re: XDP2 is here - from one and only Tom Herbert (almost to the date, 10 years after XDP was released) List-Id: CoDel AQM discussions 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 > >