DHCPv6 on GL-1000 (Brume) not working with firmware 3.104

Hi,
I recently switched provider and tried to enable DHCPv6 (I was previously using the relay mode), but just swithing the protocol in LuCI did not achieve the desired goal.
After some investigation I discovered that odhcp6c was not starting at all and that “ifstatus wan6” was not parsing the proto correctly.
After switching back to version 3.102, it worked flawlessly.

Is this a known problem? Is there a workaround? Or a fix?
I haven’t debugged what is different between the 2 releases in the scripts that were supposed to launch odhcp6c, but I’m willing to cooperate if this is not a known problem.

Best regards,
Massimiliano

Hi,
during the weekend I managed to have a better look at the issue and I found the cause.

In version 3.104 the script that registers the DHCPv6 protocol (/lib/netifd/proto/dhcpv6.sh) begins as follows:

#!/bin/sh
exit

. /lib/functions.sh
. ../netifd-proto.sh
init_proto "$@"

The exit instruction doesn’t really belong there and removing it fixes the problem.

That file comes from the odhcp6c package and, ultimately, from the openwrt repository, but the source file doesn’t have the issue (nor do any of its past versions).

My best guess is that this line was introduced while testing the new release and was then forgotten there when building the image.
I solved my issue, but you may want to release a new image.

Best regards,
Massimiliano

1 Like

I just noticed that the release notes for the firmware image 3.104 explicitly claim:

Note:

  1. Disabled ipv6

So this is not a mistake.
But why?

Best regards,
Massimiliano

IPv6 has been disabled in all firmwares because a year or so ago there were a lot of reports of IPv6 DNS leaking when using VPN. It has been disabled since then, until it has been reworked and fixed.

So yes you can enable it, but check to make sure your DNS does not leak on VPN.

1 Like

Thanks for the clarification Johnex.
Leaking IPv6 is not a problem for my use-case (but I’ll check).
I wonder why they didn’t just remove the odhcp6c package, though. That way people could just decide to install it and have a working system.

how you do that? enable IPv6

fix the problem? IPv6 works now, just by removing the exit comment in that file?

Exactly.
You just have to comment out the exit command from /lib/netifd/proto/dhcpv6.sh.
After this simple change is works like a charm.

2 Likes

Thanks, this solved half my problem, thought i was going crazy. I went from 3.027 to 3.105.
im now getting an ip6 address from my ISP after removing the exit, however it doesnt appear to route for me.

root@GL-MV1000:~# ping6 ipv6.google.com
PING ipv6.google.com (2404:6800:4005:80f::200e): 56 data bytes
ping6: sendto: Permission denied

and any ip6 browser tests from my PC fail now.

ok solved.
required this as well

1 Like