tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [PATCH] Removing RA handling from the kernel and ndp(8)



On Wed, Apr 22, 2020 at 12:07 AM Roy Marples <roy%marples.name@localhost> wrote:
>
> The kernel handling of Router Advertisements is sorely lacking:
> 1) No support for extended options - RDNSS and DNSSL are common-place now.
> 2) No immediate failover when a router becomes unreachable.
> 3) No interface preference support (important for multihomed systems).
> 4) No support for SLAAC stable private addresses.
> 5) Reliant on an external entity to solicit an advertisement to get running
>     (could be upto 10 minutes to receive one without it)
>
> Because of this reliance on an external entity, and dhcpcd has been doing the
> job of RA handling by default since NetBSD-7 I propose that the in-kernel RA
> handling is removed.
>
> I have yet to be given a valid technical reason why the current implementation
> should be kept. The closest is Martins request to NetBoot over IPv6, but as we
> currently cannot do this, the recommendation is to add new code to facilite this
> next to the netboot code for DHCP.
> If you don't like dhcpcd for whatever reason, then feel free to import something
> else.
>
> The patch to remove this is 174k, so it's at this URL:
> http://www.netbsd.org/~roy/netbsd-remove-kernel-ra.patch
>
> Notes:
>   * rtadvd(8) needed some work to remove disabled code so it still compiled
>     with some definitions removed from kernel headers.
>     This has already been comitted and is only noted here to ensure your source
>     is up to date.
>     No functionality has been lost.
>   * ndp(8) has had functionality stripped - there is no compat.
>     The only interface "broken" is ndp -i $int which just toggles or reports
>     bits of functionality set in the kernel.
>   * dhcpcd(8) may warn when applying RA preferences.
>     Only for dhcpcd binaries in NetBSD-9, but this is only cosmetic.
>   * If you use IPv6 temporary addresses (sysctl net.inet6.ip6.use_tempaddr),
>     you need to enable this now in dhcpcd.conf as the sysctl has been removed
>     because it was only triggered by Router Advertisements.
>   * rc.d/network has had some work to accomodate
>     May give some warnings, but it tells you what to change.

Didn't think I would be the first one to respond.

I didn't read your whole patch.

I would prefer both kernel and userland code to autoconfigure IPv6 but
I'm in no place to try to fix the code in the kernel. Netbooting is
useful and it would be nice if the kernel could do it with IPv6 as it
does with IPv4. I'm not aware of anyone doing diskless stuff with IPv6
yet though, I will research this.

Thanks for your work.

Andy


Home | Main Index | Thread Index | Old Index