Changes since v2: - net-vm: Ensure nftables service is started by making it a dependency of mdev - integration tests: initialize ifr6 at the start - rootfs: Start spectrum-router in run-vmm, not start-vmm - start-vmm: More cleanups of no-longer-needed code - remove unnecessary if {} block in img/app/image/etc/mdev/iface - move disabling mailutils package tests to a separate commit - disable networking integration tests for the duration of the patch series - changed spectrum-router log level to a more reasonable value - router: Add timeouts for waiting for RX buffers Please remind me if I forgot to address any review comments. 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 | 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, 1639 insertions(+), 360 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