patches and low-level development discussion
 help / color / mirror / code / Atom feed
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


             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).