Skip to content

refactor(atlas): Align the IPv6 address layouts - #315

Merged
tanmoysrt merged 5 commits into
feat/wireguard-gatewayfrom
refactor/ipv6-layouts
Oct 2, 2026
Merged

tanmoysrt merged 5 commits into
feat/wireguard-gatewayfrom
refactor/ipv6-layouts

Conversation

@tanmoysrt

Copy link
Copy Markdown
Member

Summary

All private IPv6 layouts now use a 32-bit tenant ID and a 16-bit VM or peer number on hextet boundaries. VM numbers count per tenant, so the numbers stay small and the router can map every tenant.

Why

One global VM counter made VM numbers grow for every tenant. The IPv6 router could map only 24-bit tenant IDs and 20-bit VM numbers. Aligned fields with zero padding keep the addresses readable and leave space for later fields.

What changed

  • VM names are vm-<tenant ID>-<number>, with one counter for each tenant. A tenant has VM numbers from 1 to 65,535.
  • VM mesh address: fdaa : region : tenant 32 : padding 48 : VM 16. Existing addresses do not change.
  • IPv6 router: block : tenant 32 : VM 16. A block must be /80 or shorter.
  • WireGuard gateway peer: fdac : region : node : tenant 32 : padding 32 : peer 16. A peer number is from 1 to 65,535.
  • HTTP proxy auto-proxy labels decode a 48-bit value, at most 10 characters.
  • New handbook page: address formats.

Related issues

Refs #314

@tanmoysrt
tanmoysrt added this pull request to stack #313 October 2, 2026 17:31
@tanmoysrt
tanmoysrt merged commit 6dd7b41 into develop Oct 2, 2026
9 checks passed
@tanmoysrt
tanmoysrt deleted the refactor/ipv6-layouts branch October 2, 2026 17:44
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