IPv6 route vanishes

From: Goran Mekić <meka_at_tilda.center>
Date: Mon, 07 Feb 2022 18:56:41 UTC
Hello,

On router, "lan" is bridge interface consisting of igb1, igb2 and wlan0.
To put it short, on router rtadvd.conf is one line 'lan:addr="2001:470:1f1a:2c6::""'.
On desktop I have this in rc.conf:
ifconfig_re0="DHCP"
ifconfig_re0_ipv6="inet6 -ifdisabled auto_linklocal accept_rtadv"

The problem is that I also have to add "ipv6_defaultrouter" in rc.conf
otherwise route acquired through rtadvd/rtsold is not present about 10
minutes after initial start of rtsold.

What's weird is that if rtsold runs in a VNET jail, route does not go
away. On that server I just bridge all epairs and egress so I know the
same rtadvd running on router used in both cases. Also, that's the
reason I'm suspecting rtsold is faulty, either it has a bug or I still
have a lot to learn (I just started with IPv6).

More details are attached to this PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261129
Even more details on the setup are given in my blog post: https://meka.rs/blog/2022/01/15/freebsd-dual-stack-network/

The workaround with ipv6_defaultrouter works perfectly on desktop and server,
but it's really annoying on the laptop. Is there a doc part I missed or
something?

Regards,
meka