From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 8AF74123C6; Sun, 31 Aug 2025 17:10:48 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 6FF6B123B0; Sun, 31 Aug 2025 17:10:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fhigh-a4-smtp.messagingengine.com (fhigh-a4-smtp.messagingengine.com [103.168.172.155]) by atuin.qyliss.net (Postfix) with ESMTPS id 4AB03123AC for ; Sun, 31 Aug 2025 17:10:43 +0000 (UTC) Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfhigh.phl.internal (Postfix) with ESMTP id C25EB140007E; Sun, 31 Aug 2025 13:10:41 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-11.internal (MEProxy); Sun, 31 Aug 2025 13:10:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1756660241; x=1756746641; bh=wdOMMAVV3z 485e1oneGg0BuRuc6QbWlOLyDryWDPUJo=; b=W6mdUXFnljRqoBr7YYMmRmfX8W mtZ6O3QKDHZuXKqvvm+a9uepbkQeomDam/N7fcdwmItJq0fA9BUNYeq1mHslhkUN PnI+EPqxaS4niGRz9HUR0OY+RO7h6jW7V3W5hqOPtJmBLUMlCOevOi9rCubUOJCP 8ZsDVje/PXZ1ZQSJZG12vN52DcTOcmjuCfMAzOKcwQWdEPmdhDhf3aw4yEcUdBEx 4or7bF1kZFugngO8i67Ul9R/UJuBHi//JFbX/JMnRb2cJDru35cbbxuoBP4Hu802 q02CvswPovXRHECkYlFCkLMgtWk4JKLwBLekLOSiYI+jyaN3J5QocCADhETw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1756660241; x=1756746641; bh=wdOMMAVV3z485e1oneGg0BuRuc6QbWlOLyD ryWDPUJo=; b=EkmYLOCSp8pnP/EShjB0VVOrcKcT5Qj284Jbh/8n41kL2u2Xvi/ mEUKaxM7DLcsE5xtEcLK7HMGj/LbFP5A1g6yy+PEBD5TYtK3uVaLZrCDdWUaBUyY nEhcIlkh5/R/DjLbqpA5kq1/bHeH2dkMxKcXx+1uXVMqc4PwpAsHJBhFgWFn9Gol 7wwwwsO8nQtrdTi4lzDYHKX2TWUNy79k283VFntWTkqkIwSCSJRXJLDITqyFfIBB hDgDGe+2r9AA9/Q1U6yDgG/yL2feyXobdRkIDXtvpjwbzfeGmqSjYG751ryFeeVv moZUjGYZ6S/0gK2YtRG+qwOoHSi4c1TOiFw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgddukeelkeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhephffvvefujghffffkgggtsehgtderredttddtnecuhfhrohhmpeetlhihshhsrgcu tfhoshhsuceohhhisegrlhihshhsrgdrihhsqeenucggtffrrghtthgvrhhnpeeivdetvd ffgfevfeevteegtdfftdelffeiveehgfduveejtdduvedtveefveeuteenucffohhmrghi nheplhhinhhugidruggvvhdpnhgrkhhrhihikhhordgtohhmnecuvehluhhsthgvrhfuih iivgeptdenucfrrghrrghmpehmrghilhhfrhhomhephhhisegrlhihshhsrgdrihhspdhn sggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeihuhhrvg hkrgestgihsggvrhgthhgrohhsrdguvghvpdhrtghpthhtohepuggvvhgvlhesshhpvggt thhruhhmqdhoshdrohhrgh X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 31 Aug 2025 13:10:40 -0400 (EDT) Received: by mbp.qyliss.net (Postfix, from userid 1000) id 8B0981540235; Sun, 31 Aug 2025 19:10:34 +0200 (CEST) From: Alyssa Ross To: Yureka Lilian Subject: Re: [DO_NOT_APPLY 1/2] integrate xdp-forwarder into net-vm In-Reply-To: <87bjnxt6qn.fsf@alyssa.is> References: <20250823222134.1772413-1-yureka@cyberchaos.dev> <20250823222134.1772413-2-yureka@cyberchaos.dev> <87bjnxt6qn.fsf@alyssa.is> Date: Sun, 31 Aug 2025 19:10:33 +0200 Message-ID: <87h5xnxvqu.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: IVU7YWWXTL5CLTIQMJFC6GH33HLPPXHC X-Message-ID-Hash: IVU7YWWXTL5CLTIQMJFC6GH33HLPPXHC X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: devel@spectrum-os.org X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain Alyssa Ross writes: >> diff --git a/vm/sys/net/xdp-forwarder/default.nix b/vm/sys/net/xdp-forwarder/default.nix >> new file mode 100644 >> index 0000000..75b1d66 >> --- /dev/null >> +++ b/vm/sys/net/xdp-forwarder/default.nix >> @@ -0,0 +1,35 @@ >> +# SPDX-License-Identifier: MIT >> +# SPDX-FileCopyrightText: 2025 Yureka Lilian >> + >> +{ lib, runCommand, stdenv, llvmPackages, libbpf, linux, bpftools }: >> + >> +stdenv.mkDerivation { >> + pname = "xdp-forwarder"; >> + version = "0"; >> + >> + src = lib.fileset.toSource { >> + root = ./.; >> + fileset = lib.fileset.fileFilter >> + ({ hasExt, ... }: !(hasExt "nix") && !(hasExt "md")) ./.; >> + }; >> + >> + buildInputs = [ libbpf ]; >> + nativeBuildInputs = [ llvmPackages.clang-unwrapped bpftools ]; >> + >> + buildPhase = '' >> + bpftool btf dump file ${linux.dev}/vmlinux format c > include/vmlinux.h > > I guess we're still missing a vmlinux.h package in Nixpkgs? That would > be much cleaner. Actually, given discussion in #systemd:nixos.org yesterday, it sounds like best practice is to declare just the structs and struct members we use: https://nakryiko.com/posts/bpf-core-reference-guide/#defining-own-co-re-relocatable-type-definitions (Since on Spectrum we /can/ predict the kernel we'll be running on, it's not a huge deal, but I'd still like to follow the principle of having packages be portable.) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRV/neXydHjZma5XLJbRZGEIw/wogUCaLSCCQAKCRBbRZGEIw/w orT2AP9Nwqxwpv4T2eUGE72QMICKBBtCR9N8qk40Gi5BvXTjrgEA7uE0Q4tZ7mQn d0RdvZPuSEehTO9X/tLRoryp1GCCYg4= =lp5Z -----END PGP SIGNATURE----- --=-=-=--