IPv6 deprecated

Hi, my ISP gives me dual stack (IPv4 and IPv6, being the last one via DHCPv6). So I am trying to configure my router to have dual stack working, I actually have the following configuration:

  • Virtual dynamic interface (DHCPv6 client) over my pppoe-wan interface
  • ULA prefix empty

In my lan interface ipv6 config:

  • Router Advertisement-Service: server mode
  • DHCPv6-Service: server mode
  • NDP-Proxy: disabled
  • DHCPv6-Mode: stateful-only

This gives me a /128 IPv6 to my PC which looks fine, but after pppoe is reset and a new IPv6 net is provided, in my br-lan interface I still can see the old net which look like the following:

inet6 my-net/56 scope global deprecated dynamic
valid_lft 7067sec preferred_lft 0sec

So when the pppoe is reset, hosts with old IPv6 net assignment stop working until interface is reset and new prefix is sent, any idea of how can I stop my lan interface from keeping this deprecated prefixes?

Please post here the output of the following command, copy and paste the whole block:

uci show network; uci show dhcp; \
ip -6 addr ; ip -6 ro ; ip -6 ru; \
ifstatus wan; ifstatus lan

Please use "Preformatted text </>" for logs, scripts, configs and general console output.
grafik

1 Like

afaik this is a know und kinda open problem.
workaround is to lower the leasetime so the effect wont last for long.

1 Like

There it goes:

root@OpenWrt:~# 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.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='64'
network.wan=interface
network.wan.ifname='eth1.2'
network.wan._orig_ifname='eth1.2'
network.wan._orig_bridge='false'
network.wan.proto='pppoe'
network.wan.username='PPPoE-user
network.wan.password='PPPoE-pass'
network.wan.ipv6='auto'
network.wan.peerdns='0'
network.wan.dns='1.1.1.1 1.0.0.1'
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.modem=interface
network.modem.proto='static'
network.modem.ifname='eth1.2'
network.modem.ipaddr='192.168.0.2'
network.modem.netmask='255.255.255.0'
network.modem.gateway='192.168.0.1'
network.Guests=interface
network.Guests.proto='static'
network.Guests.ipaddr='192.168.2.1'
network.Guests.netmask='255.255.255.0'
network.@route[0]=route
network.@route[0].gateway='192.168.0.1'
network.@route[0].interface='modem'
network.@route[0].netmask='255.255.255.0'
network.@route[0].target='192.168.19.0'
network.@route[1]=route
network.@route[1].gateway='192.168.0.1'
network.@route[1].interface='modem'
network.@route[1].netmask='255.255.255.0'
network.@route[1].target='192.168.29.0'type or paste code here
root@OpenWrt:~# uci show dhcp
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded='1'
dhcp.@dnsmasq[0].boguspriv='1'
dhcp.@dnsmasq[0].filterwin2k='0'
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].nonegcache='0'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].readethers='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto'
dhcp.@dnsmasq[0].nonwildcard='1'
dhcp.@dnsmasq[0].localservice='1'
dhcp.@dnsmasq[0].local='/mydomain.com/'
dhcp.@dnsmasq[0].domain='mydomain.com'
dhcp.@dnsmasq[0].port='53535'
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='100'
dhcp.lan.limit='150'
dhcp.lan.leasetime='12h'
dhcp.lan.dhcp_option='option:dns-server,192.168.1.1'
dhcp.lan.ra='server'
dhcp.lan.dhcpv6='server'
dhcp.lan.ra_management='2'
dhcp.wan=dhcp
dhcp.wan.interface='wan'
dhcp.wan.ignore='1'
dhcp.odhcpd=odhcpd
dhcp.odhcpd.maindhcp='0'
dhcp.odhcpd.leasefile='/tmp/hosts/odhcpd'
dhcp.odhcpd.leasetrigger='/usr/sbin/odhcpd-update'
dhcp.odhcpd.loglevel='4'
dhcp.@host[0]=host
dhcp.@host[0].name='modem'
dhcp.@host[0].dns='1'
dhcp.@host[0].mac='modemMac'
dhcp.@host[0].ip='192.168.0.1'
dhcp.@host[0].leasetime='infinite'
dhcp.@host[1]=host
dhcp.@host[1].name='desktopPc'
dhcp.@host[1].dns='1'
dhcp.@host[1].ip='192.168.1.11'
dhcp.@host[1].leasetime='infinite'
dhcp.@host[1].mac='desktopPcMac'
dhcp.Guests=dhcp
dhcp.Guests.leasetime='12h'
dhcp.Guests.limit='150'
dhcp.Guests.interface='Guests'
dhcp.Guests.start='2'

root@OpenWrt:~# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 532
    inet6 fe80::6238:e0ff:febf:41c8/64 scope link 
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 532
    inet6 fe80::6038:e0ff:febf:41c8/64 scope link 
       valid_lft forever preferred_lft forever
8: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2800:a4:292c:b800::1/64 scope global dynamic 
       valid_lft 25268sec preferred_lft 25268sec
    inet6 fe80::6038:e0ff:febf:41c8/64 scope link 
       valid_lft forever preferred_lft forever
10: eth1.2@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6238:e0ff:febf:41c8/64 scope link 
       valid_lft forever preferred_lft forever
11: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6238:e0ff:febf:41c9/64 scope link 
       valid_lft forever preferred_lft forever
12: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6238:e0ff:febf:41ca/64 scope link 
       valid_lft forever preferred_lft forever
13: wlan1-1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6038:e0ff:febf:41c8/64 scope link 
       valid_lft forever preferred_lft forever
15: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 state UNKNOWN qlen 3
    inet6 ispslashsixtyfour/64 scope global dynamic 
       valid_lft 258022sec preferred_lft 171622sec
    inet6 fe80::a907:ec7d:27aa:4a44/10 scope link 
       valid_lft forever preferred_lft forever

root@OpenWrt:~# ip -6 ro
default from ispslashsixtyfour/64 via fe80::633:89ff:fe04:8b01 dev pppoe-wan  metric 512 
default from ispslashfiftysix/56 via fe80::633:89ff:fe04:8b01 dev pppoe-wan  metric 512 
ispslashsixtyfour/64 dev pppoe-wan  metric 256 
ispslashfiftysix/64 dev br-lan  metric 1024 
unreachable ispslashfiftysix/56 dev lo  metric 2147483647  error -113
fe80::/64 dev eth0  metric 256 
fe80::/64 dev eth1  metric 256 
fe80::/64 dev eth1.2  metric 256 
fe80::/64 dev br-lan  metric 256 
fe80::/64 dev wlan1  metric 256 
fe80::/64 dev wlan1-1  metric 256 
fe80::/64 dev wlan0  metric 256 
fe80::/10 dev pppoe-wan  metric 1 
fe80::/10 dev pppoe-wan  metric 256 
anycast ispslashsixtyfour dev pppoe-wan  metric 0 
anycast ispslashfiftysix dev br-lan  metric 0 
anycast fe80:: dev eth1  metric 0 
anycast fe80:: dev eth0  metric 0 
anycast fe80:: dev eth1.2  metric 0 
anycast fe80:: dev wlan1  metric 0 
anycast fe80:: dev br-lan  metric 0 
anycast fe80:: dev wlan0  metric 0 
anycast fe80:: dev wlan1-1  metric 0 
anycast fe80:: dev pppoe-wan  metric 0 
ff00::/8 dev eth0  metric 256 
ff00::/8 dev eth1  metric 256 
ff00::/8 dev eth1.2  metric 256 
ff00::/8 dev br-lan  metric 256 
ff00::/8 dev wlan1  metric 256 
ff00::/8 dev wlan1-1  metric 256 
ff00::/8 dev wlan0  metric 256 
ff00::/8 dev pppoe-wan  metric 256 
root@OpenWrt:~# ip -6 ru
0:      from all lookup local 
32766:  from all lookup main 
4200000000:     from ispslashfiftysix1/64 iif br-lan lookup unspec unreachable
4200000001:     from all iif lo lookup unspec 12
4200000008:     from all iif br-lan lookup unspec 12
4200000010:     from all iif eth1.2 lookup unspec 12
4200000013:     from all iif wlan1-1 lookup unspec 12
4200000015:     from all iif pppoe-wan lookup unspec 12
4200000015:     from all iif pppoe-wan lookup unspec 12
ifstatus wan
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 41033,
        "l3_device": "pppoe-wan",
        "proto": "pppoe",
        "device": "eth1.2",
        "updated": [
                "addresses",
                "routes"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [
                {
                        "address": "publicip",
                        "mask": 32,
                        "ptpaddress": "publicptpaddress"
                }
        ],
        "ipv6-address": [
                {
                        "address": "fe80::a907:ec7d:27aa:4a44",
                        "mask": 128
                }
        ],
        "ipv6-prefix": [

        ],
        "ipv6-prefix-assignment": [

        ],
        "route": [
                {
                        "target": "0.0.0.0",
                        "mask": 0,
                        "nexthop": "publicptpaddress",
                        "source": "0.0.0.0\/0"
                }
        ],
        "dns-server": [
                "1.1.1.1",
                "1.0.0.1"
        ],
        "dns-search": [

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

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [
                        "myIspDNS1",
                        "myIspDNS2"
                ],
                "dns-search": [

                ]
        },
        "data": {

        }
}

root@OpenWrt:~# ifstatus lan
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 84650,
        "l3_device": "br-lan",
        "proto": "static",
        "device": "br-lan",
        "updated": [
                "addresses"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [
                {
                        "address": "192.168.1.1",
                        "mask": 24
                }
        ],
        "ipv6-address": [

        ],
        "ipv6-prefix": [

        ],
        "ipv6-prefix-assignment": [
                {
                        "address": "ispslashfiftysix",
                        "mask": 64,
                        "preferred": 24451,
                        "valid": 24451,
                        "local-address": {
                                "address": "ispslashfiftysix1",
                                "mask": 64
                        }
                }
        ],
        "route": [

        ],
        "dns-server": [

        ],
        "dns-search": [

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

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [

                ],
                "dns-search": [

                ]
        },
        "data": {

        }
}

I see similarities with this problem.
If you manually issue a ifdown-ifup of the LAN interface, is the problem fixed for the hosts?

See also:

Unfortunately it didn't work

It don't solve the problem for my hosts, it justs removes the deprecated address from the interface but my hosts are keeping old ipv6

So right now the LAN interface of the OpenWrt doesn't keep the old address after the pppoe is restarted and new address is acquired.
The problem lies solely on the hosts connected to the LAN, because they still keep the old ipv6. Do they acquire also a new address alongside or just keep the old?

The lan interface gets a new address for it and a /64 subnet to use for hosts and it keeps the old address marked as deprecated when I run "ip a". The hosts only get a /128 when I reboot the router, after the ip gets renewed in the router, they only keep the old one, the new address that lan interface has, does not assign a /128.

Any ideas?

I dunno about this issue , but you may want to edit your thread’s title to summarize the problem a little better.. (doing so might help catch attention from someone else who has run into this)

1 Like

Have you tried to lower the ra values mentioned here?

What values do you mean? There are a couple of ra values and I can not distinguish which one you are referring to.

https://openwrt.org/docs/guide-user/base-system/dhcp#dhcp_pools
Scroll a bit down, there are about a dozen of ra options.