[PATCH v4 00/10] spectrum-router

Yureka Lilian
2025-11-29T19:47:29Z

Just a few tiny things I forgot in the last series.

Changes since v3:

- Remove leftover c-lib target from start-vmm meson.build
- Update Rust dependencies including tokio-vhost & vhost-device-net

Yureka Lilian (10):
release/checks/integration: temporarily disable networking tests
vm/sys/net: remove connman
pkgs: temporarily disable mailutils tests
vm/sys/net: integrate xdp-forwarder
vm/sys/net: add iwd
tools: add spectrum-router
host: integrate router
img/app: change to ipv6 nameserver
release/checks/integration: Adapt networking test for ipv6
release/checks/integration: reenable networking tests

host/rootfs/default.nix | 4 +-
host/rootfs/file-list.mk | 2 +
.../data/service/spectrum-router/down | 0
.../template/data/service/spectrum-router/run | 9 +
host/rootfs/image/usr/bin/run-vmm | 21 +-
host/rootfs/image/usr/bin/vm-import | 13 -
img/app/image/etc/mdev/iface | 19 +-
img/app/image/etc/resolv.conf | 2 +-
.../etc/s6-rc/mdevd/dependencies.d/nftables | 0
pkgs/default.nix | 2 +
pkgs/overlay.nix | 4 +
release/checks/integration/default.nix | 2 +-
release/checks/integration/networking.c | 33 +-
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 | 147 ++++
tools/router/src/upstream.rs | 175 ++++
tools/start-vmm/ch.rs | 66 +-
tools/start-vmm/lib.rs | 73 +-
tools/start-vmm/meson.build | 9 +-
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, 1640 insertions(+), 366 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 100644 img/app/image/etc/s6-rc/mdevd/dependencies.d/nftables
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