Skip to content

Make UML IPv6 setup automatic #2

Description

@jayapsrivastava

Why this matters

Most PFS supports IPv6 now. Our UML setup should expose a usable IPv6 address by default so IPv6 NIC discovery/testing is consistent and doesn’t depend on manual setup.

Current manual steps (works, but easy to forget)

We use the private ULA range fd00::/64 to give both sides a global-scope IPv6 address.

Host (tap0)

sudo ip -6 addr add fd00::1/64 dev tap0
sudo ip link set tap0 up

UML guest (vec0)

ip -6 addr add fd00::2/64 dev vec0
ip link set vec0 up

Verify in UML:

ip -6 addr show dev vec0

Expected:

inet6 fd00::2/64 scope global

Connectivity check

From UML:

ping -6 fd00::1

From host:

ping -6 fd00::2%tap0

PFS verify

Inside UML:

umount /mnt/pfs
mount /mnt/pfs
dmesg | grep -i push_nic_address

Expected to see something like:

push_nic_address(..., fd00::2)

Guest: init.sh

Add IPv6 ULA config (and keep it safe to run multiple times):

#!/bin/sh

mount -t proc  proc /proc
mount -t sysfs sys  /sys

ip addr add 192.168.0.253/24 dev vec0
ip -6 addr add fd00::2/64 dev vec0
ip link set vec0 up

# Optional: only if we want full IPv6 routing tests (not needed for PFS detection)
# ip -6 route add default via fd00::1 dev vec0

uname -a
echo "\nWelcome to KDEV-UML (with IPv6 support)\n"
setsid sh -c 'exec /bin/bash </dev/tty0 >/dev/tty0 2>&1'

Host: init-host.sh

Run manually today, but should be hooked into the UML/start scripts:

#!/bin/bash
set -e

ip addr add 192.168.0.1/24 dev tap0 || true
ip -6 addr add fd00::1/64 dev tap0 || true
ip link set tap0 up

echo "Host networking configured: tap0 with IPv4 + IPv6 (ULA)"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions