Starlink IPv6 needs ndisc6 package


Story short, setting up IPV6 on Starlink needs the router to send sollicitation to the wan dhcpv6 each 60sec.

This is done using rdisc6 from ndisc6 tools.

I’d like to know if the package can be added to the repository.


@GL, @hansome : Related thread & makefile:


Here’s an interesting comment on that same thread using option soltimeout 60:

I’ve already tried to use the makefile from this thread, but it doesn’t goes further with some compile error.

I could compile just the binary btw and put it on the router. But it’s not a viable solution for following updates . Would be nice to have it officially

The netifd approach doesn’t work either, it’s only called once a boot.

Yeah, agreed: I ping’d a pretty active GL staff member for that reason but I wouldn’t go as far as guaranteeing anything. I’m not seeing any rdisc or ndisc in the upstream packages:

Drats. It was worth a shot.

I’ve never used Starlink. What’s the purpose of this solicitation traffic? Is it just to keep a ‘heartbeat’ by periodically pushing a packet every 60 secs or does it require some very, very specially crafted encapsulation to have it register? If the former, I’m wondering if a simple watchcat to or wouldn’t do it:

Yes it needs to send an ICMPv6 Router Discovery packet ( what rdisc6 does ) each 60 sec to keep the /56 prefix lease alive.
If not the router just get a /64 prefix after few minutes and the whole network stays with local adresses only.

I don’t know why Starlink needs this, it probably won’t be the case I hope when IPV6 will be officially available on SL as it’s out of RFC

Here is what the multicast packet looks like:

Frame 1 (62 bytes on wire, 62 bytes captured)

Ethernet II, Src: 00:1b:11:52:bf:ab (00:1b:11:52:bf:ab), Dst: 33:33:00:00:00:02 (33:33:00:00:00:02)
Destination: 33:33:00:00:00:02 (33:33:00:00:00:02)
Address: 33:33:00:00:00:02 (33:33:00:00:00:02)
… …1 … … … … = IG bit: Group address (multicast/broadcast)
… …1. … … … … = LG bit: Locally administered address (this is NOT the factory default)
Source: 00:1b:11:52:bf:ab (00:1b:11:52:bf:ab)
Address: 00:1b:11:52:bf:ab (00:1b:11:52:bf:ab)
… …0 … … … … = IG bit: Individual address (unicast)
… …0. … … … … = LG bit: Globally unique address (factory default)
Type: IPv6 (0x86dd)
Internet Protocol Version 6

Source: fe80::21b:11ff:fe52:bfab (fe80::21b:11ff:fe52:bfab)
Destination: ff02::2 (ff02::2)
Internet Control Message Protocol v6
Type: 133 (Router solicitation)
Code: 0
Checksum: 0xab1e [correct]

I referred to this link and compiled an ndisc6 ipk by github action:
@Kipk you can download the Artifacts ipk for AX1800

You can also use the repo GitHub - luochongjun/gl-sdk-action: GL路由器应用软件包编译ACTION to compile your own.


great @hansome some

I also was not aware of this gl-sdk-action repo, thanks for pointing it.

1 Like