Opened 12 years ago

Last modified 3 years ago

#8317 assigned enhancement

Haiku needs IPv6 global scope Auto Configuration

Reported by: kallisti5 Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Network & Internet/IPv6 Version: R1/Development
Keywords: radvd global scope Cc:
Blocked By: Blocking:
Platform: All


Haiku needs to obtain a global scope address when configured to obtain one from the network.

DHCPv6 and Router Advertisement Daemon (radvd) are the potential options.

radvd is the preferred focus of this as DHCPv6 is less difficult using upstream DHCP packages

Change History (3)

comment:1 by luroh, 9 years ago

Milestone: R1Unscheduled

Moving IPv6 related tickets out of R1 milestone.

comment:2 by axeld, 6 years ago

Owner: changed from axeld to nobody
Status: newassigned

comment:3 by jeremyvisser, 3 years ago

Agree, IPv6 auto configuration is required, but we should first build support for SLAAC (stateless autoconfiguration) via ICMPv6 Router Solicitation / Router Advertisement without worrying about DHCPv6 at least for the short/medium term.

Unlike IPv4, requesting individual addresses via DHCPv6 is extremely uncommon. (DHCPv6-PD is quite common, used by ISPs to delegate subnets to routers, but this is not Haiku's concern unless we want to implement router functionality.)

Most setups (all typical home setups, and even the enterprise I work at) use SLAAC (stateless autoconfiguration) which is totally based on ICMPv6 Router Solicitation / Router Advertisements, with no DHCPv6 whatsoever. (FWIW, Android does not have a DHCPv6 stack whatsoever, with no plans to implement one, so it's unlikely any sane ISP would start requiring DHCPv6 in the foreseeable future.)

Addressing radvd in the bug description, radvd is not useful to us, since it used for *sending* Router Advertisements, so also likely not useful at present. As a client, which I presume is the use case of this bug, you typically want to be *receiving* Router Advertisements.

On Linux, router solicitiation and receiving of RAs is typically done in-kernel. On FreeBSD, the rtsold tool does this in userspace. It's possibly worth investigating rtsold.

Note: See TracTickets for help on using tickets.