How does OpenWrt set IPv6 default route without receiving RAs from upstream?

Apologies for the lack of more details. But it appears that openwrt can populate IPv6 default route for it without receiving router advertisements. This is reported on IPv6 + PPPoE setup.

openwrt appears to have IPv6 connectivity despite it not seeing RAs. In the packet capture, I see openwrt sent router solicitation 3 times (, which I believe is in accordance with RFC2461), but there are no RAs. So, I am wondering what mechanism openwrt uses to populate default route so it has IPv6 connectivity.

I learned that this is via IPV6CP, but could anyone point me the source code where this happens? Is this a openwrt specific patch?

I did not find any thing in the RFC 5072 that states IPV6CP should be used to set default route on a router.

Never mind. It looks like it is possible with

1 Like

Actually, I am still confused since I do not see OpenWrt enable defaultroute6 option for PPP. Does anybody know?

If option ipv6 is set to auto (the default when not set), a DHCPv6 subinterface is spawned once PPPoE IPv6CP negotiation succeeds.

The DHCPv6 client will then be responsible to obtain a default route, a GUA and - if possible - a routed prefix for downstream delegation.

@jow Thanks.

DHCPv6 client will then be responsible to obtain a default route

How does this happen? Does it send RS and listens for RA? In the pcap I got from a customer, there are no RAs (despite 3 RSs openwrt sent). During this time, there was no IPv6 connectivity. After about 10 seconds, it appears that openwrt installed default route somehow and IPv6 started working. The customer said it is lede-17.01 version of openwrt with default network/ipv6 settings.

I am wondering what mechanism openwrt uses to install the IPv6 default route in absence of RAs.

NOTE - I think this is a "broken" network setup. RAs are required even in the case of PPPoE. But I am just curious how openwrt sets the default IPv6 route when there are no RAs. Is there an option in DHCPv6 client that does this?

Edit 2 - In the pcap, I do not see any of the options described in this page used.