Page MenuHomeVyOS Platform

Support receiving IPv6 router advertisements
Closed, ResolvedPublicENHANCEMENT

Description

As noted in Q129, it is currently necessary to use a sysctl workaround to receive IPv6 RAs. I have run into this once again while implementing DHCPv6-PD (Prefix Delegation) in T421, since in the common setup, the VyOS router will need to use router advertisements from the upstream router to set up its default route. Without this, the delegated prefix is basically useless.

As noted in this EdgeRoute discussion:

when you configure an interface for SLAAC, it should automagically set accept_ra=2 instead of having to separately disable forwarding. It is a router afterall, it is always going to be forwarding.

I have a simple implementation ready that sets the interface accept_ra appropriately when autoconf is configured for the interface, based on suggestions in that discussion.

The only thing missing after this is the ability to listen to router advertisements to get the default route but not setting the address. (That is, accept_ra without the rest of autoconf.) However, since it's possible to set another address on the interface, anyway, this is probably not really a shortcoming. I could also see a further enhancement to this that would allow setting the interface id (IID, basically the host part of the address) to something other than the RFC4862 or RFC7217 values; then one could set any desired address within the advertised prefix.

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close

Event Timeline

syncer claimed this task.
syncer moved this task from Needs Triage to Finished on the VyOS 1.2 Crux (VyOS 1.2.0-EPA3) board.

I'm a little confused about the status of this task.

It looks like my fix (or anything like it) still hasn't been merged, which means I still need to maintain this as a local patch in order to make set interface ethernet eth0 ipv6 address autoconf actually do anything.

Can this be merged into the source? And preferably pulled into Crux?

You can consider submitting a PR request in a rolling branch that has requested a merge.