Task T903 adds a workaround for a problem where the DHCPv6 client can't bind to an address that hasn't finished DAD, yet. Unfortunately, the workaround waits for DAD to complete specifically on eth0 (the interface on which the problem was first noticed) rather than the interface that dhclient is actually attempting to start on:
vyatta-cfg-system/scripts/vyatta-dhcpv6-client.pl:
# Check for any non-tentative addresses (exit code 0 if any exist, 1 otherwise) if (system("test -n \"\$(ip -6 -o addr show dev eth0 scope link -tentative)\"") != 0) {
This results in the problem not being fixed if dhclient is startoing on any interface other than eth0.
The fix is simple: Just replace eth0 with $ifname. I'll send a pull request momentarily.