No IPV6 connection for clients

Hi,

WRT32X running a recent davidx502 build.

I have IPV6 connectivity to my WRT32X, IPV6 Upstream/WAN6 shows connected and I can successfully run "ping6 google.com" from SSH.

However, connected clients over wifi or ethernet have no IPV6 connection. I also see the following message repeated inside the system log:

Fri Oct 12 16:07:11 2018 daemon.warn odhcpd[2475]: A default route is present but there is no public prefix on br-lan thus we don't announce a default route!

Not totally sure where to start debugging this, so looking to use it as a learning opportunity even if it's not a big deal right now!

Thanks

How big of a prefix can you get from your ISP? If they give you a /64 it might be assigned to the WAN and then there is nothing left for the LAN. You can try requesting a /60 or /56 there's some way to adjust that in LUCI I think in the wan setting.

uci show network
ubus call network.interface.wan6 status

Thanks, it is /64 i think. I can see that setting int the WAN6 options, changing to /56 doesn't seem to have made a difference. I've reverted it back to 'automatic'.

# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fdb2:3369:847e::/48'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth0.1'
network.lan.proto='static'
network.lan.ipaddr='192.168.1.1'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.wan=interface
network.wan.ifname='eth1.2'
network.wan.proto='dhcp'
network.wan6=interface
network.wan6.ifname='eth1.2'
network.wan6.proto='dhcpv6'
network.wan6.reqaddress='try'
network.wan6.reqprefix='auto'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='0 1 2 3 5t'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].ports='4 6t'
network.vpnserver=interface
network.vpnserver.proto='none'
network.vpnserver.ifname='ovpns0'
network.vpnserver.auto='1'
# ubus call network.interface.wan6 status
{
    "up": true,
    "pending": false,
    "available": true,
    "autostart": true,
    "dynamic": false,
    "uptime": 90,
    "l3_device": "eth1.2",
    "proto": "dhcpv6",
    "device": "eth1.2",
    "updated": [
        "addresses",
        "routes",
        "data"
    ],
    "metric": 0,
    "dns_metric": 0,
    "delegation": true,
    "ipv4-address": [

    ],
    "ipv6-address": [
        {
            "address": "redacted",
            "mask": 64,
            "preferred": 2617,
            "valid": 2617
        },
        {
            "address": "redacted",
            "mask": 64
        }
    ],
    "ipv6-prefix": [

    ],
    "ipv6-prefix-assignment": [

    ],
    "route": [
        {
            "target": "redacated:",
            "mask": 64,
            "nexthop": "::",
            "metric": 256,
            "valid": 2617,
            "source": "::\/0"
        },
        {
            "target": "redacted",
            "mask": 64,
            "nexthop": "::",
            "metric": 256,
            "source": "::\/0"
        },
        {
            "target": "::",
            "mask": 0,
            "nexthop": "redacted",
            "metric": 512,
            "valid": 1707,
            "source": "redacted"
        },
        {
            "target": "::",
            "mask": 0,
            "nexthop": "redacted",
            "metric": 512,
            "valid": 1707,
            "source": "redacted"
        }
    ],
    "dns-server": [
        "redacted"
    ],
    "dns-search": [

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

        ],
        "ipv6-address": [

        ],
        "route": [

        ],
        "dns-server": [

        ],
        "dns-search": [

        ]
    },
    "data": {
        "passthru": "0010002b00000de90025322e30372e323335362e527c3030337c45523131357c423232303138364130303734383200000f001f001d32346137646363376563643040736b7964736c7c33626133313164320000170010fdcfc0a86de5000026a7dcfffec7ecd0"
    }
}

I have a very similar DHCPv6-lease on my OpenWrt+Linode.
ipv6-prefix and ipv6-prefix-assignment are also empty.
My prefix is static and it's routed via WAN-address.

Where is the delegated prefix, ipv6-prefix is empty? With IPv6 all devices needs global addresses since NAT isn't used which is the reason it isn't enough with IPv6 addresses on the WAN interface.

So would this point to a misconfiguration in openwrt or a problem with the ISP modem not providing the prefix?

It should be possible to verify with tcpdump:

tcpdump -vvvni any ip6 and udp port 546 &
killall -SIGUSR1 odhcp6c
odhcp6c eth1.2
...
killall tcpdump

Thanks, looks like the modem's the problem, then...if I am interpreting this correcting:

...
00:50:14.355581 IP6 (hlim 255, next-header UDP (17) payload length: 154) ... [udp sum ok] dhcp6 advertise (xid=5fe5c7 (client-ID hwaddr type 1 6038e0ce5340) (server-ID hwaddr type 1 24a7dcc7ecd1) (status-code NoPrefixAvail) (status-code NoAddrsAvail) (vendor-class) (user-class)...
...