From: Yureka Lilian <yureka@cyberchaos.dev>
To: devel@spectrum-os.org
Cc: Yureka Lilian <yureka@cyberchaos.dev>
Subject: [PATCH v2 0/7] spectrum-router
Date: Fri, 28 Nov 2025 23:30:22 +0100 [thread overview]
Message-ID: <20251128223038.97536-1-yureka@cyberchaos.dev> (raw)
Changes since v1 (non-exhaustive):
- Use spectrum-router from pkgsMusl
- Refactor router into smaller modules
- Parse router advertisements from upstream interfaces
- Select active upstream interface based on router advertisements
- Assign guest mac addresses based hash of vm id
- Fix race condition when assigning driver-router interface
- Temporarily disable re-write of mac addresses which would be needed
for wifi. It will be added back inside the xdp-forwarder in a future patch.
and completely new patches:
- Change nameserver & default route in app-vm template
- Fix integration tests
- Leave dbus in net-vm and add iwd for testing
Yureka Lilian (7):
vm/sys/net: remove connman
vm/sys/net: integrate xdp-forwarder
vm/sys/net: add iwd
tools: add spectrum-router
host: integrate router
img/app: change to ipv6 nameserver
checks/integration: Adapt networking test for ipv6
host/rootfs/default.nix | 4 +-
host/rootfs/file-list.mk | 3 +
.../data/service/spectrum-router/down | 0
.../template/data/service/spectrum-router/run | 13 +
.../image/usr/bin/assign-driver-router-iface | 11 +
host/rootfs/image/usr/bin/run-vmm | 12 +-
host/rootfs/image/usr/bin/vm-import | 13 -
img/app/image/etc/mdev/iface | 17 -
img/app/image/etc/resolv.conf | 2 +-
pkgs/default.nix | 2 +
pkgs/overlay.nix | 1 +
release/checks/integration/default.nix | 2 +-
release/checks/integration/networking.c | 32 +-
tools/router/Cargo.lock | 807 ++++++++++++++++++
tools/router/Cargo.lock.license | 2 +
tools/router/Cargo.toml | 21 +
tools/router/default.nix | 18 +
tools/router/src/main.rs | 73 ++
tools/router/src/packet.rs | 187 ++++
tools/router/src/protocol.rs | 65 ++
tools/router/src/router.rs | 133 +++
tools/router/src/upstream.rs | 170 ++++
tools/start-vmm/ch.rs | 38 +-
tools/start-vmm/lib.rs | 76 +-
tools/start-vmm/meson.build | 2 +-
tools/start-vmm/net-util.c | 39 -
tools/start-vmm/net-util.h | 6 -
tools/start-vmm/net.c | 55 --
tools/start-vmm/net.rs | 11 -
tools/start-vmm/tests/meson.build | 5 -
.../start-vmm/tests/tap_open-name-too-long.c | 20 -
tools/start-vmm/tests/tap_open.c | 28 -
vm/sys/net/Makefile | 2 +-
vm/sys/net/default.nix | 15 +-
vm/sys/net/file-list.mk | 3 -
vm/sys/net/image/etc/fstab | 2 +
vm/sys/net/image/etc/mdev/iface | 28 +-
vm/sys/net/image/etc/nftables.conf | 16 +-
vm/sys/net/image/etc/s6-rc/connman/run | 19 -
vm/sys/net/image/etc/s6-rc/connman/type | 1 -
.../net/image/etc/s6-rc/connman/type.license | 2 -
41 files changed, 1627 insertions(+), 329 deletions(-)
rename vm/sys/net/image/etc/s6-rc/connman/dependencies.d/dbus => host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/data/service/spectrum-router/down (100%)
create mode 100755 host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/data/service/spectrum-router/run
create mode 100755 host/rootfs/image/usr/bin/assign-driver-router-iface
create mode 100644 tools/router/Cargo.lock
create mode 100644 tools/router/Cargo.lock.license
create mode 100644 tools/router/Cargo.toml
create mode 100644 tools/router/default.nix
create mode 100644 tools/router/src/main.rs
create mode 100644 tools/router/src/packet.rs
create mode 100644 tools/router/src/protocol.rs
create mode 100644 tools/router/src/router.rs
create mode 100644 tools/router/src/upstream.rs
delete mode 100644 tools/start-vmm/net-util.c
delete mode 100644 tools/start-vmm/net-util.h
delete mode 100644 tools/start-vmm/net.c
delete mode 100644 tools/start-vmm/tests/tap_open-name-too-long.c
delete mode 100644 tools/start-vmm/tests/tap_open.c
delete mode 100644 vm/sys/net/image/etc/s6-rc/connman/run
delete mode 100644 vm/sys/net/image/etc/s6-rc/connman/type
delete mode 100644 vm/sys/net/image/etc/s6-rc/connman/type.license
--
2.51.2
next reply other threads:[~2025-11-28 22:31 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-28 22:30 Yureka Lilian [this message]
2025-11-28 22:30 ` [PATCH v2 1/7] vm/sys/net: remove connman Yureka Lilian
2025-11-29 13:06 ` Alyssa Ross
2025-11-28 22:30 ` [PATCH v2 2/7] vm/sys/net: integrate xdp-forwarder Yureka Lilian
2025-11-29 13:08 ` Alyssa Ross
2025-11-29 13:15 ` Yureka
2025-11-29 13:17 ` Alyssa Ross
2025-11-28 22:30 ` [PATCH v2 3/7] vm/sys/net: add iwd Yureka Lilian
2025-11-29 13:09 ` Alyssa Ross
2025-11-28 22:30 ` [PATCH v2 4/7] tools: add spectrum-router Yureka Lilian
2025-11-29 13:18 ` Alyssa Ross
2025-11-28 22:30 ` [PATCH v2 5/7] host: integrate router Yureka Lilian
2025-11-29 13:46 ` Alyssa Ross
2025-11-29 14:28 ` Yureka
2025-11-29 14:44 ` Alyssa Ross
2025-11-28 22:30 ` [PATCH v2 6/7] img/app: change to ipv6 nameserver Yureka Lilian
2025-11-29 13:20 ` Alyssa Ross
2025-11-28 22:30 ` [PATCH v2 7/7] checks/integration: Adapt networking test for ipv6 Yureka Lilian
2025-11-29 13:26 ` Alyssa Ross
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=20251128223038.97536-1-yureka@cyberchaos.dev \
--to=yureka@cyberchaos.dev \
--cc=devel@spectrum-os.org \
/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).