I'm running the following configuration (dslite interface on top of a
native IPv6 interface)

config interface 'wan6'
        option proto 'dhcpv6'
        option ifname 'eth4.5'

config interface 'dslite'
        option proto 'dslite'
        option peeraddr '3001:aaaa::1'
        option tunlink 'wan6'

The native IPv6 interface (wan6) gets up but the dslite interface does
not get up when an ifup wan6 is done in my setup.
Looking into the dslite.sh script the function proto_dslite_setup adds
a host dependency on a default IPv6 route and the tunlink interface
parameter in this case wan6.
The netifd daemon does not trigger the dslite script when the wan6
interface is up because no default IPv6 route is found when the wan6
interface gets up.
The netifd daemon is informed by the dhcpv6 script which is triggered
by an odhcp6c daemon bound event; but at that moment no default IPv6
route is present in the env variable RA_ROUTES.
A few moments later the odhcp6c daemon triggers a ra-updated event
with the default route; but since the wan6 interface is already is up
in the netifd daemon the dslite interface is not triggered anymore.
The odhcp6c implementation launches a bound event but does not check
if a ra has been processed; a ra-updated event will only be launched
if the dhcpv6 client is bound or slaac_only equals 0.
Wouldn't it be better to launch the bound event when at least one ra
is processed (which in fact is done for the ra-update event as bound
needs to be active) to solve the observed problem ?

Br,
Hans
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to