microsoft / microsoft/openvmm

Make Consomme TCP validation deterministic

Open
#4,424 0 comments 0 reactions 1 assignee View on GitHub

@ppenna is already working on this.

Since Sep 15, 2026.

Dominant language
Rust
Stars
1.9k
Forks
238
Avg merge
1d 15h
Merged PRs (30d)
100

Description

Tracking issue: MicroVM support and private snapshot restore.

Motivation

Networking identity, admission limits, and snapshot reconstruction need tests that
can distinguish a protocol regression from host scheduling or timing variation.
Deterministic Consomme TCP fixtures would make those changes easier to review and
keep failure diagnostics reproducible across Windows and Linux.

Proposed Scope

  • Drive TCP test inputs, event ordering, and timeout progression explicitly where
    the test harness permits it.
  • Remove reliance on incidental wall-clock timing or external network services
    from the targeted fixtures.
  • Assert observable protocol transitions and emitted packets instead of only
    checking that a test finishes.
  • Keep fixture changes separate from new networking policies or runtime features.

Acceptance Criteria

  • Repeated runs produce the same protocol observations for the same input.
  • Focused coverage exercises connection establishment, data transfer, and
    termination, including the targeted timeout or failure paths.
  • Tests do not require access to an external network service or sleeps chosen
    to mask races.
  • The targeted suite passes on Windows and Linux, with useful diagnostics for
    unexpected packets or state transitions.
  • Production TCP semantics are unchanged by the fixture work.

Dependencies

No feature prerequisites. These fixtures support later Consomme identity and
resource-admission tests.

Non-Goals

Static addressing, egress policy, flow limits, and network snapshot persistence
are separate issues.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.