Skip to content

feat(network): enable IPv6 in guest images - #5

Merged
Code-Hex merged 1 commit into
mainfrom
codex/ipv6-network-tests
Oct 17, 2026
Merged

Code-Hex merged 1 commit into
mainfrom
codex/ipv6-network-tests

Conversation

@Code-Hex

Copy link
Copy Markdown
Owner

Why

The guest images disable IPv6, so IPv6 checks for vz networking need a separate Linux fixture. Enable IPv6 in both puipui kernels and in BusyBox so the shipped images can run those checks.

Scope

  • Remove the IPv6 override from both kernel defconfigs. Linux 7.2.9 enables IPv6 by default, and savedefconfig omits the redundant CONFIG_IPV6=y line.
  • Keep CONFIG_IPV6_SIT disabled to avoid adding unused IPv6-over-IPv4 tunnels.
  • Enable BusyBox CONFIG_FEATURE_IPV6 and CONFIG_PING6.
  • Extend both QEMU smoke tests to verify SLAAC, a default route learned from Router Advertisements, and ping6 to the local virtual router.

Host NAT and QEMU backend offload negotiation remain outside this kernel change.

Verification

On an ARM64 Ubuntu 26.04 build host:

  • ./puipui-linux-tool -u ran twice with unchanged defconfig hashes.
  • ./puipui-linux-tool built both release archives.
  • python3 tests/config_failure.py 7.2.9 passed.
  • The modified tests/smoke.py passed for both ARM64 and x86_64 images, including IPv4 DHCP, IPv6 SLAAC and router ping, SSH, virtiofs, vsock and poweroff.
  • The new IPv6 guest check failed as expected on the old IPv6-disabled ARM64 fixture.

QEMU explicitly enables both IPv4 and IPv6. The IPv6 checks use a fixed local prefix and router, without requiring an external IPv6 connection.

@Code-Hex
Code-Hex merged commit ad4df1b into main Oct 17, 2026
2 checks passed
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