IPv6 when connecting a router with OpenWRT to a router with OpenWRT via WiFi

Today I connected a Xiaomi AX3000t router to a GL.iNet GL-MT6000 router via 5 GHz WiFi and noticed that the router only receives an IP address in V4, but does not receive V6, although other devices connected to this router receive both IPv4 and IPv6 addresses. The only settings were to scan the network, connect to the desired network and enter a password. In principle, I connect other WiFi devices in exactly the same way, which receive both addresses. Why do 2 routers on OpenWRT work with such restrictions?

Also, the name of the router to which it is connected and the IP address are not displayed, although when connecting to other routers not with OpenWrt firmware, they are displayed.

Create an alias interface of proto dhcpv6. For example if your wifi client is wwan

config interface 'wwan6'
   option device '@wwan'
   option proto 'dhcpv6'

Add wwan6 to the same firewall zone as wwan. This should also be possible in GUI but I don't know exactly how.

The script behind the Join This Network button only configures for IPv4. It should be updated to include v6.

They do not, I have multiple openwrt routers daisy chained all with working IPv6

Assuming we are talking about LAN<>WAN connection routers in gateway mode on their own subnet, then you have to make sure your LAN from the upstream router has a prefix of 63 or lower, if the upstream LAN has only a 64 prefix it cannot delegate a prefix to the downstream router.

My main router has a prefix of 60 on its LAN and delegates a 62 prefix to the downstream router.

see:

1 Like

This is created by default. The router is only flashed on OpenWrt and no settings were made.
The router I am connecting to is flashed on OpenWrt and configured.
Other devices supporting IPv6 are connected and receive 2 addresses IPv4 and IPv6.
OpenWrt version 24.10.1 on both routers, all packages updated.
wpads replaced with wpad-wolfssl.

IPv6: 2001:67c:1bcc:40cf::1/64
IPv6: fd1a:7a75:8e6b::1/60

These are also default settings and as you can see, there are 64 and 60. It would be clear that if other devices do not receive IPv6, but they do, without any additional settings on either the router or the devices. The router connects as a regular client. Like a phone, tablet or laptop...

The router itself should have an IPv6 address but the LAN clients not.

Please show from both routers

ubus call system board
ifstatus wan6
ifstatus lan
Summary
root@GL:~# ubus call system board
{
        "kernel": "6.6.86",
        "hostname": "GL.iNet_GL-MT6000",
        "system": "ARMv8 Processor rev 4",
        "model": "GL.iNet GL-MT6000",
        "board_name": "glinet,gl-mt6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.1",
                "revision": "r28597-0425664679",
                "target": "mediatek/filogic",
                "description": "OpenWrt 24.10.1 r28597-0425664679",
                "builddate": "1744562312"
        }
}
root@GL:~# ifstatus wan6
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 74679,
        "l3_device": "eth1",
        "proto": "dhcpv6",
        "device": "eth1",
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [

        ],
        "ipv6-address": [
                {
                        "address": "2001:67c:1bcc:3::194",
                        "mask": 128,
                        "preferred": 384,
                        "valid": 384
                }
        ],
        "ipv6-prefix": [
                {
                        "address": "2001:67c:1bcc:40cf::",
                        "mask": 64,
                        "preferred": 384,
                        "valid": 384,
                        "class": "wan6",
                        "assigned": {
                                "lan": {
                                        "address": "2001:67c:1bcc:40cf::",
                                        "mask": 64
                                }
                        }
                }
        ],
        "ipv6-prefix-assignment": [

        ],
        "route": [
                {
                        "target": "::",
                        "mask": 0,
                        "nexthop": "fe80::9e5a:80ff:fe14:73c3",
                        "metric": 512,
                        "valid": 1796,
                        "source": "2001:67c:1bcc:40cf::/64"
                },
                {
                        "target": "::",
                        "mask": 0,
                        "nexthop": "fe80::9e5a:80ff:fe14:73c3",
                        "metric": 512,
                        "valid": 1796,
                        "source": "2001:67c:1bcc:3::194/128"
                }
        ],
        "dns-server": [
                "2606:4700:4700::1111",
                "2606:4700:4700::1001"
        ],
        "dns-search": [

        ],
        "neighbors": [

        ],
        "inactive": {
                "ipv4-address": [

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [
                        "2001:67c:1bcc:ffff::1",
                        "2001:67c:1bcc:ffff::2"
                ],
                "dns-search": [

                ],
                "neighbors": [

                ]
        },
        "data": {
                "passthru": "001700202001067c1bccffff00000000000000012001067c1bccffff0000000000000002"
        }
}
root@GL:~# ifstatus lan
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 74945,
        "l3_device": "br-lan",
        "proto": "static",
        "device": "br-lan",
        "updated": [
                "addresses"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [
                {
                        "address": "192.168.51.1",
                        "mask": 24
                }
        ],
        "ipv6-address": [

        ],
        "ipv6-prefix": [

        ],
        "ipv6-prefix-assignment": [
                {
                        "address": "2001:67c:1bcc:40cf::",
                        "mask": 64,
                        "preferred": 425,
                        "valid": 425,
                        "local-address": {
                                "address": "2001:67c:1bcc:40cf::1",
                                "mask": 64
                        }
                },
                {
                        "address": "fd1a:7a75:8e6b::",
                        "mask": 60,
                        "local-address": {
                                "address": "fd1a:7a75:8e6b::1",
                                "mask": 60
                        }
                }
        ],
        "route": [

        ],
        "dns-server": [

        ],
        "dns-search": [

        ],
        "neighbors": [

        ],
        "inactive": {
                "ipv4-address": [

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [

                ],
                "dns-search": [

                ],
                "neighbors": [

                ]
        },
        "data": {

        }
}
root@GL:

This is from the router I connect to. The second router is no longer available, but I suspect that with any router, only flashed, you can get the same result.

If this is the main internet connected router you cannot daisy chain other routers as you only get a /64 prefix. A good ISP gives you a /56 or /48 prefix so that you can delegate that to downstream routers
You might try relayd for your downstream routers but I have no experience with that

Mind you I am still talking about downstream routers on its own subnet.
If you you are trying to setup a router as bridgedAP or wireless bridge (WDS/Mesh/Wireless extender](https://openwrt.org/docs/guide-user/network/wifi/relay_configuration) things are different

1 Like

Well you must have made some setting to get it to connect as a wireless client, as that is not set up by default. And as I said, the Join This Network button that is part of a wireless scan only configures the connection for IPv4. It is basically the only "canned" operational mode wizard in the OpenWrt GUI, and it is limited in what it does.

Ideally the upstream router will make prefix space available to downstream routers so that the LANs on the downstream router each have a /64, which is part of the /60 or so that was delegated to the router. If your upstream only routes a single /64 you can use IPv6 Relay settings in the DHCP.

All this is somehow sad...
And if I do not have access to the settings of the main router? Besides, as you can see in the picture, the router in the Luci interface does not display the IP address...
But if you connect the same router to some ancient as the mummies of the pharaohs router with proprietary software, then we will also get the IP display instead of ? And if they suddenly brought support for IPv6 to this ancient router, we will also get it as a bonus.
Why is everything so bad?
Why do even the basic functions that should work from the moment you plug the plug into the socket need to be finished with a file?
Eeeehhh.
No answers.
We are not looking for easy ways. We will climb a cactus. Cry from pain, but still climb ((.