Repository navigation
protocol: add capture requests and restore activation messages - #1331
Merged
Pedro Henrique Penna (ppenna) merged 4 commits intoNov 7, 2026
Conversation
Contributor
This pull request changes existing testsIt modifies or removes 2 existing test asset(s), listed below. Review each with care: a change to a test can hide a regression that the test caught. See doc/contribute.md#changes-to-existing-tests. Test policy
Relocated unchanged: 0; added: 14. Compared the merge base |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues block the crate-private capture and activation protocol changes.
No open issues 🎉
What changed in this PR
Adds crate-private NVXC v1 capture and activation messages for SL4.2 of #1113, building on the activation-record changes in #1311. This prepares later guest handlers and restore orchestration without adding those execution paths or expanding the public protocol API.
Changes:
- Adds capture and activation payload codecs with strict flag, credential and record validation.
- Adds
ControlSession::capture, requiring a matching, empty, successful READY acknowledgement. - Shares the workload identity type while preserving its public host re-export, and adds regression tests and test-layout metadata.
| File | Description |
|---|---|
scripts/test-layout-allowlist.json |
Records session and protocol test-hook allowances. |
nvx-rs/src/protocol/tests.rs |
Tests payload round trips, malformed inputs and credential bounds. |
nvx-rs/src/protocol/mod.rs |
Adds host-gated internal protocol re-exports. |
nvx-rs/src/protocol/app.rs |
Defines shared workload identity and capture/activation codecs. |
nvx-rs/src/host/session/tests.rs |
Tests capture flags and acknowledgement validation. |
nvx-rs/src/host/session.rs |
Adds capture requests and payload support to the acknowledgement helper. |
nvx-rs/src/host/launch.rs |
Preserves the public workload identity path through a re-export. |
Review effort: Balanced
Enrique Saurez (esaurez)
force-pushed
the
esaurez/slim-2.3.1-sl2.5b-20261105
branch
2 times, most recently
from
November 7, 2026 19:49
fc44f2b to
02d4219
Compare
Base automatically changed from
esaurez/slim-2.3.1-sl2.5b-20261105
to
feature/nvx-refactor
November 7, 2026 20:45
Encode the kill-executions flag in NVXC v1 and require a matching empty READY acknowledgement before the host operation returns. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 629c762a-9133-4b64-8356-19a4ade2d1f0
Reuse the workload identity definition from a private shared owner while keeping host selection and its public re-export unchanged. Encode the persistent identity beside the existing activation record in NVXC v1. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 629c762a-9133-4b64-8356-19a4ade2d1f0
Document the shared identity type visibility without the host feature and retain dead-code expectations only for future protocol callers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 629c762a-9133-4b64-8356-19a4ade2d1f0
Sort the carried hook entries with the repository formatter without changing their counts or the inherited hooks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 629c762a-9133-4b64-8356-19a4ade2d1f0
Enrique Saurez (esaurez)
force-pushed
the
esaurez/slim-3.2.1-sl4.2-canonical-20261107
branch
from
November 7, 2026 21:39
433c1d2 to
3f217d5
Compare
Enrique Saurez (esaurez)
marked this pull request as ready for review
November 7, 2026 22:25
Pedro Henrique Penna (ppenna)
merged commit Nov 7, 2026
3ad5e49
into
feature/nvx-refactor
108 of 109 checks passed
Pedro Henrique Penna (ppenna)
deleted the
esaurez/slim-3.2.1-sl4.2-canonical-20261107
branch
November 7, 2026 23:53
This was referenced Nov 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #1113
Add the two crate-private NVXC v1 operations needed by the later capture handler and restore driver:
ControlSession::capturesends it and requires the matching, empty, successful READY acknowledgement.This is SL4.2 only. It adds no guest handler, restore driver, retry/deadline framework, peer-verification framework, NVXC v2 framing or public protocol API.
Dependency: builds on the activation-record change in #1311, merged into
feature/nvx-refactoratbc9cecac747b460d89159914154b9f6ce3732968. That parent has the identical source tree as the qualified02d4219ff07e74622fe3178ad9e7f5b7d1ea3975input.Size: 132 core lines in 5 counted files; 7 changed paths and 142 added test lines. Test-layout metadata is counted normally, without an exemption.
Tests
Existing protocol and session tests remain. No existing test function is removed or rewritten. Added regression coverage:
capture_requests_round_trip_both_kill_flagscapture_requests_refuse_unknown_or_mis_sized_flagsactivate_requests_round_trip_records_and_workload_identityactivate_requests_refuse_truncated_or_malformed_payloadsactivate_workload_ids_match_guest_credential_boundscapture_sends_both_kill_flags_and_waits_for_acknowledgementcapture_refuses_invalid_acknowledgementsThe test-change report records 14 added test items and two test-policy changes: the session and protocol application entries now permit their actual one and six test hooks. All inherited hook counts remain, with canonical ordering checked by the repository formatter and layout checker.
Validation
Exact candidate:
3f217d54f9d8e19bbe512a7df64dbc7c3d9d328e, tree8c7a51d779b777a9993c20dcac8c295def316775.The four commits were mechanically reparented onto the merged parent. Complete local checks and independent read-only review were produced at
e596bb70186e74aee893f663fe41627d7974b458, with the identical full source tree and effective inputs. That evidence is reused, not described as a new execution.Earlier metadata-ordering failures and warnings remain history. Nine Windows compiler-descendant cleanup warnings and ordinary tool notices were retained in the current qualification receipts; post-run inspection found those descendants ended.
This unused-private-code slice changes no guest handler, VMM arguments or executed CLI VM route, and is not the group's final PR. No new VM matrix or borrowed parent runtime pass is claimed. Group-final VM coverage and CI-only coverage, including KVM, remain unrun here. This PR remains Draft.