From: Alyssa Ross <hi@alyssa.is>
To: Yureka Lilian <yureka@cyberchaos.dev>
Cc: devel@spectrum-os.org
Subject: Re: [DO_NOT_APPLY v3 3/3] docs/architecture: add paragraph about networking
Date: Mon, 08 Sep 2025 12:05:39 +0200 [thread overview]
Message-ID: <87tt1di7ik.fsf@alyssa.is> (raw)
In-Reply-To: <20250901201248.19794-4-yureka@cyberchaos.dev>
[-- Attachment #1: Type: text/plain, Size: 1996 bytes --]
Yureka Lilian <yureka@cyberchaos.dev> writes:
> ---
> Documentation/about/architecture.adoc | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
Reviewed-by: Alyssa Ross <hi@alyssa.is>
(I'll make some minor copyediting changes when it's ready to be applied,
but won't trouble you with those.)
When I get around to it, I'll probably rename netvm to "driver VM" or
something, BTW, since given we don't control the IOMMU groups, we'll
have to be prepared to drive multiple kinds of devices from one VM,
assuming we ever manage to move anything aside from network devices out
of the host.
> diff --git a/Documentation/about/architecture.adoc b/Documentation/about/architecture.adoc
> index e32ab27..2b86616 100644
> --- a/Documentation/about/architecture.adoc
> +++ b/Documentation/about/architecture.adoc
> @@ -68,3 +68,23 @@ nix-build img/live --no-out-link | xargs -o nix-tree
>
> See the https://diode.zone/w/8DBDQ6HQUe5UUdLkpDuL35[video] of Spectrum live
> image interactive analysis with nix-tree.
> +
> +== Networking
> +
> +The net-vm's purpose is running the Linux drivers for any physical
> +interfaces on the spectrum system.
> +
> +A net-vm (there could be multiple, one per IOMMU-group) will load the
> +xdp-forwarder XDP programs on the passed-through physical interfaces as well
> +as the downstream virtio interface going into the router (recognized by
> +its special MAC address) using mdev events.
> +
> +The net-vm needs to multiplex between the physical interfaces, as there
> +might be several interfaces in the same IOMMU-group.
> +
> +For this, the xdp-forwarder applies a
> +VLAN tag corresponding to the interface id, and redirects the packets to
> +the router interface (identified by the router_iface bpf map).
> +In the other direction the XDP program loaded on the router interface
> +removes one layer of VLAN tagging, and redirects the packets to the
> +interface read from the VLAN tag.
> --
> 2.50.1
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
prev parent reply other threads:[~2025-09-08 10:05 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-01 20:12 [DO_NOT_APPLY v3 0/3] xdp-forwarder Yureka Lilian
2025-09-01 20:12 ` [DO_NOT_APPLY v3 1/3] add xdp-forwarder Yureka Lilian
2025-09-06 12:05 ` Alyssa Ross
[not found] ` <08193621-065b-466f-8703-5ae5ecf71788@yuka.dev>
2025-09-06 16:13 ` Alyssa Ross
2025-09-06 17:07 ` [DO_NOT_APPLY v3 2/3] integrate xdp-forwarder into net-vm Demi Marie Obenour
2025-09-07 0:08 ` Yureka
2025-09-01 20:12 ` Yureka Lilian
2025-09-06 16:08 ` Alyssa Ross
2025-09-01 20:12 ` [DO_NOT_APPLY v3 3/3] docs/architecture: add paragraph about networking Yureka Lilian
2025-09-08 10:05 ` Alyssa Ross [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tt1di7ik.fsf@alyssa.is \
--to=hi@alyssa.is \
--cc=devel@spectrum-os.org \
--cc=yureka@cyberchaos.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://spectrum-os.org/git/crosvm
https://spectrum-os.org/git/doc
https://spectrum-os.org/git/mktuntap
https://spectrum-os.org/git/nixpkgs
https://spectrum-os.org/git/spectrum
https://spectrum-os.org/git/ucspi-vsock
https://spectrum-os.org/git/www
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).