Skip to content

Add mailbox resume network handoff#253

Draft
sjmiller609 wants to merge 1 commit into
mainfrom
hypeship/minimal-network-handoff
Draft

Add mailbox resume network handoff#253
sjmiller609 wants to merge 1 commit into
mainfrom
hypeship/minimal-network-handoff

Conversation

@sjmiller609
Copy link
Copy Markdown
Collaborator

@sjmiller609 sjmiller609 commented May 30, 2026

Summary

  • add guest-agent ReconfigureNetwork RPC backed by in-process netlink, with host fallback to the existing shell reconfigure path for older guests
  • add a VMGenID-triggered resume-network mailbox so fork restores can patch guest network config before resume and avoid host-initiated guest contact on the fast path
  • re-include the public wait_for_network option for running fork results; it defaults to true and waits for a guest UDP applied ack, while false returns after resume with mailbox reconfigure continuing asynchronously
  • document the runtime handoff behavior in lib/forkvm/README.md
  • keep the change focused by omitting the arm RPC, polling/fetch server, vsock timing instrumentation, and perf harness from the earlier exploratory PRs

Tests

  • go test ./lib/guest ./lib/system/guest_agent -count=1
  • go test ./lib/oapi -count=1
  • go test ./cmd/api/api -run 'TestForkInstance_Success|TestForkSnapshotMapsWaitForNetwork' -count=1 (fails in this checkout because embedded hypervisor, guest-agent, and caddy binaries are missing)
  • go test ./lib/instances -run 'TestGuestNetworkReconfigureConfig|TestGuestNetworkReconfigureCommand|TestPatchGuestResumeNetworkMailbox' -count=1 (fails in this checkout because embedded hypervisor and guest-agent binaries are missing)

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

✱ Stainless preview builds for hypeman

This PR will update the hypeman SDKs with the following commit message.

feat: Add mailbox resume network handoff

Edit this comment to update it. It will appear in the SDK's changelogs.

hypeman-openapi studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅

hypeman-go studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

go get github.com/stainless-sdks/hypeman-go@6a96a4b9dce869d0815cc4f5194e067c06f706fe
hypeman-typescript studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ✅

npm install https://pkg.stainless.com/s/hypeman-typescript/f97c4cbabc16367b4f7f512014fcd965c0aeb7b3/dist.tar.gz

This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-05-30 19:44:33 UTC

@sjmiller609 sjmiller609 force-pushed the hypeship/minimal-network-handoff branch from 588fd4d to fd4660f Compare May 30, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant