8000 feat(minvmd): implement DM1 gvproxy tap relay for OwnIp PTasks by norrietaylor · Pull Request #540 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
< 8000 div class="d-flex flex-column mt-2 px-1">
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/ci-linux-kvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,14 @@ jobs:
# `minimal` CLI build it drives is incremental.
run: ./scripts/fetch-libkrun.sh "$KRUN_PREFIX" x86_64

- name: Materialize gvproxy switch binary (DM1 relay)
# The DM1 gvproxy relay e2e (vsock_relay_e2e) spawns this per-host switch
# binary; pin-verified, no Go toolchain. Publish its path for the gated
# step below.
run: |
./scripts/fetch-gvproxy.sh "$RUNNER_TEMP/gvproxy"
echo "MINVMD_GVPROXY_BIN=$RUNNER_TEMP/gvproxy" >> "$GITHUB_ENV"

- name: Materialize guest kernel (raw Image)
run: ./scripts/fetch-artifact.sh virtio-kernel "$RUNNER_TEMP/vmlinuz" x86_64

Expand All @@ -157,6 +165,19 @@ jobs:
- name: Session E2E (full minimald session over the bridge)
run: cargo test -p minvmd --test minimald_session_e2e -- --include-ignored --nocapture --exact minimald_exec_over_bridge

- name: DM1 gvproxy relay E2E (OwnIp PTask gets a switch IP, R1.5)
# Boots an OwnIp VM and asserts its netns receives a 100.64.0.0/16 switch
# IP via the async TAP↔gvproxy relay, with frames traversing the switch.
# Needs /dev/kvm, the gvproxy binary, and CAP_NET_ADMIN (tap + netns), so
# it is `#[ignore]`-gated and only runs here with the env gate set.
# `sudo -E` preserves the materialized-artifact env while granting the
# tap/netns capabilities the relay requires.
env:
MINVMD_INTEGRATION_TEST: "1"
run: |
sudo -E env "PATH=$PATH" "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" \
cargo test -p minvmd vsock -- --include-ignored --nocapture

# NOTE: bridge_e2e is intentionally NOT run here. It targets the Stage-1
# guest "vsock stub" (a socat/cat echo on port 2222) that minimald-as-pid1
# replaced with a direct SSH session server, so it now reads back the SSH
Expand Down
Loading
Loading
0