microsoft / microsoft/openvmm

Give Consomme explicit static IPv4 and gateway identities

Open
#4,429 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

A guest restored into a sandbox network needs predictable guest and gateway
addresses. Static configuration should identify those endpoints exactly rather
than allowing packet handling or address derivation to substitute another identity.
This is also a prerequisite for reasoning about per-attachment network policy.

Proposed Scope

  • Represent and validate exact static guest IPv4 and gateway identities in
    Consomme configuration.
  • Apply those identities consistently to the relevant address-resolution and
    packet-processing paths.
  • Define handling for traffic that does not match the configured identity and
    reject invalid or conflicting configurations with actionable errors.
  • Preserve behavior for callers that do not request the new static configuration.
  • Keep configuration, enforcement tests, and documentation in the same PR.

Acceptance Criteria

  • Deterministic packet tests observe the exact configured guest and gateway
    identities rather than implicitly derived substitutes.
  • Traffic with a mismatched identity follows the documented rejection policy.
  • Invalid and conflicting configurations fail before the attachment is active.
  • Existing default-configuration tests continue to pass.
  • Tests cover more than one valid address configuration without depending on
    an external network service.

Dependencies

The separate egress-policy API is not a prerequisite for static addressing.

Non-Goals

This issue does not introduce flow quotas, snapshot persistence, or runtime egress
policy attachment.

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.

Research direction

Read 00-microvm.md and the F03 deterministic Consomme TCP validation issue first, then locate Consomme's configuration, address-resolution, and packet-processing paths. Done means deterministic tests cover multiple valid static address configurations, mismatches follow the documented rejection policy, invalid configurations fail before activation, default behavior remains passing, and documentation is included.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.