Modify

Opened 5 years ago

Closed 5 years ago

#12942 closed defect (fixed)

IPv6 /128 address dissappears fast from pppoe-wan

Reported by: dani@… Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: packages Version: Trunk
Keywords: Cc: cyrus@…

Description

ok,
so i am building trunk for tp-link wr703n but selecting manually odhcp6c without 6relayd (no LuCi, no ipv6-support package) and with my pppoe connection seems like the /128 address from provider quickly dissappears from pppoe-wan after pppoe authentification.

basically i am trying to get this device to have IPv6 on the ethernet port configured as wan with pppoe proto (wireless will be off so i do not need 6relayd, i think..)

/etc/config/network looks like this:

config interface 'loopback'

option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config interface 'wan'

option ifname 'eth0'
option proto 'pppoe'
option username 'USERNAME'
option password 'PASSWORD'
option ipv6 '1'


config interface 'wan6'

option proto 'dhcpv6'
option ifname '@wan'

is there anything i can do to keep the provider /128 ipv6 address on wan (pppoe-wan) ? in logread i have:

Jan 1 00:00:18 motion daemon.notice pppd[681]: pppd 2.4.5 started by root, uid

0

Jan 1 00:00:19 motion daemon.info pppd[681]: PPP session is 29
Jan 1 00:00:19 motion daemon.warn pppd[681]: Connected to 00:1a:64:6d:48:6f vi
a interface eth0
Jan 1 00:00:19 motion daemon.info pppd[681]: Using interface pppoe-wan
Jan 1 00:00:19 motion daemon.notice pppd[681]: Connect: pppoe-wan <--> eth0
Jan 1 00:00:19 motion daemon.info init: starting pid 406, tty '/dev/ttyATH0':
'/bin/ash --login'
Jan 1 00:00:22 motion daemon.notice pppd[681]: PAP authentication succeeded
Jan 1 00:00:22 motion daemon.notice pppd[681]: peer from calling number 00:1A:
64:6D:48:6F authorized
Jan 1 00:00:22 motion daemon.notice pppd[681]: local IP address 79.118.205.11
4
Jan 1 00:00:22 motion daemon.notice pppd[681]: remote IP address 10.0.0.1
Jan 1 00:00:22 motion daemon.notice pppd[681]: primary DNS address 213.154.1
24.1
Jan 1 00:00:22 motion daemon.notice pppd[681]: secondary DNS address 193.231.2
52.1
Jan 1 00:00:22 motion daemon.notice pppd[681]: local LL address fe80::0000:00
00:4f76:cd72
Jan 1 00:00:22 motion daemon.notice pppd[681]: remote LL address fe80::0000:00
Jan 1 00:00:22 motion daemon.notice netifd: Interface 'wan' is now up
Jan 1 00:00:23 motion kern.info kernel: IPv6: ADDRCONF(NETDEV_UP): wlan0: link

is not ready

Jan 1 00:00:23 motion kern.info kernel: IPv6: ADDRCONF(NETDEV_UP): wlan0: link

is not ready

Jan 1 00:00:23 motion kern.info kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlan0:
link becomes ready
Jan 1 00:00:23 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: State fo
r pppoe-wan changed to started
Jan 1 00:00:23 motion daemon.warn odhcp6c[830]: State for pppoe-wan changed to

started

Jan 1 00:00:23 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: Sending
SOLICIT (timeout 4294967295s)
Jan 1 00:00:23 motion daemon.notice odhcp6c[830]: Sending SOLICIT (timeout 429
4967295s)
Jan 1 00:00:23 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: Got a va
lid reply after 2ms
Jan 1 00:00:23 motion daemon.notice odhcp6c[830]: Got a valid reply after 2ms
Jan 1 00:00:24 motion daemon.notice odhcp6c[830]: Sending REQUEST (timeout 429
4967295s)
Jan 1 00:00:24 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: Sending
REQUEST (timeout 4294967295s)
Jan 1 00:00:24 motion daemon.notice odhcp6c[830]: Got a valid reply after 1ms
Jan 1 00:00:24 motion daemon.warn odhcp6c[830]: State for pppoe-wan changed to

bound

Jan 1 00:00:24 motion daemon.notice odhcp6c[830]: Sending <POLL> (timeout 4294
967295s)
Jan 1 00:00:24 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: Got a va
lid reply after 1ms
Jan 1 00:00:24 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: State fo
r pppoe-wan changed to bound
Jan 1 00:00:24 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: Sending
<POLL> (timeout 4294967295s)
Jan 1 00:00:24 motion daemon.warn odhcp6c[830]: State for pppoe-wan changed to

ra-updated

Jan 1 00:00:24 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: State fo
r pppoe-wan changed to ra-updated
Jan 1 00:00:24 motion daemon.notice netifd: Interface 'wan6' is now up
Jan 1 00:00:29 motion user.info sysinit: Loading defaults
Jan 1 00:00:29 motion user.info sysinit: Loading synflood protection
Jan 1 00:00:29 motion user.info sysinit: Adding custom chains
Jan 1 00:00:30 motion user.info sysinit: Loading zones
Jan 1 00:00:31 motion user.info sysinit: Loading forwardings
Jan 1 00:00:31 motion user.info sysinit: Loading rules
Jan 1 00:00:32 motion user.info sysinit: Loading redirects
Jan 1 00:00:32 motion user.info sysinit: Loading includes
Jan 1 00:00:32 motion user.info sysinit: Optimizing conntrack
Jan 1 00:00:32 motion user.info sysinit: Loading interfaces
Jan 1 00:00:32 motion user.info firewall: adding wan (pppoe-wan) to zone wan
Jan 1 00:00:34 motion authpriv.info dropbear[1236]: Not backgrounding
Jan 1 00:00:34 motion user.info sysinit: setting up led CPU
Feb 3 00:36:59 motion daemon.info pppd[681]: System time change detected.
Feb 3 00:37:40 motion daemon.warn odhcp6c[830]: State for pppoe-wan changed to

ra-updated

Feb 3 00:37:40 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: State fo
r pppoe-wan changed to ra-updated
Feb 3 00:38:40 motion daemon.warn odhcp6c[830]: State for pppoe-wan changed to

ra-updated

Feb 3 00:38:40 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: State fo
r pppoe-wan changed to ra-updated
Feb 3 00:39:40 motion daemon.warn odhcp6c[830]: State for pppoe-wan changed to

ra-updated

Feb 3 00:39:40 motion daemon.notice netifd: wan6 (830): odhcp6c[830]: State fo
r pppoe-wan changed to ra-updated
Feb 3 00:40:40 motion daemon.warn odhcp6c[830]: State for pppoe-wan changed to

ra-updated

thanks!

Attachments (0)

Change History (25)

comment:1 Changed 5 years ago by cyrus

Please do a "opkg info odhcp6c" and check the version number of odhcp6c that is given. If it is older than 2013-02-02-... please test with current trunk. There was a similar bug that I fixed less than a day ago in /changeset/35454.html

comment:2 Changed 5 years ago by dani@…

Package: odhcp6c
Version: 2013-02-02-f157601cf149ddd062dec1ef8fca02349a0cb8a9
Depends: libc, kmod-ipv6
Provides:
Status: install user installed
Architecture: ar71xx
Installed-Time: 1359854739

comment:3 Changed 5 years ago by cyrus

I couldn't really reproduce this bug until now.
Could you maybe provide me with a tcpdump of the dhcpv6 exchange?

e.g. using tcpdump -i pppoe-wan port 546 -vvv

comment:4 Changed 5 years ago by cyrus

  • Cc cyrus@… added

comment:5 Changed 5 years ago by dani@…

sure, i will do that when i get home, until then something comes into mind: the tp-link wr703n is a one ethernet, one wireless device, maybe the fact that the lan config group in /etc/config/network doesn't have a iface definition has something to do with it..?

comment:6 Changed 5 years ago by cyrus

hmm no i don't think this has anything todo with the problem. i'd rather think that something in the replies from the server triggers some kind of corner case in odhcp6c so that it fails.

comment:7 Changed 5 years ago by jeff@…

Getting the same error messages flooding my log, but I am not losing IPv6 addresses from my wan6. I do have ipv6-support and luci installed. Every two seconds I get messages very similar to OP:

Feb  9 06:40:21 OpenWrt daemon.warn odhcp6c[1123]: State for eth1 changed to ra-updated
Feb  9 06:40:21 OpenWrt daemon.notice netifd: wan6 (1123): odhcp6c[1123]: State for eth1 changed to ra-updated
Feb  9 06:40:24 OpenWrt daemon.warn odhcp6c[1123]: State for eth1 changed to ra-updated
Feb  9 06:40:24 OpenWrt daemon.notice netifd: wan6 (1123): odhcp6c[1123]: State for eth1 changed to ra-updated
Feb  9 06:40:27 OpenWrt daemon.warn odhcp6c[1123]: State for eth1 changed to ra-updated
Feb  9 06:40:27 OpenWrt daemon.notice netifd: wan6 (1123): odhcp6c[1123]: State for eth1 changed to ra-updated

From /var/log/messages:

Feb  9 06:41:07 OpenWrt dnsmasq[2311]: reading /tmp/resolv.conf.auto
Feb  9 06:41:07 OpenWrt dnsmasq[2311]: using nameserver 2001:558:feed::2#53
Feb  9 06:41:07 OpenWrt dnsmasq[2311]: using nameserver 2001:558:feed::1#53
Feb  9 06:41:07 OpenWrt dnsmasq[2311]: using nameserver 75.75.76.76#53
Feb  9 06:41:07 OpenWrt dnsmasq[2311]: using nameserver 75.75.75.75#53
Feb  9 06:41:07 OpenWrt dnsmasq[2311]: using local addresses only for domain lan
Feb  9 06:41:09 OpenWrt dnsmasq[2311]: reading /tmp/resolv.conf.auto
Feb  9 06:41:09 OpenWrt dnsmasq[2311]: using nameserver 2001:558:feed::2#53
Feb  9 06:41:09 OpenWrt dnsmasq[2311]: using nameserver 2001:558:feed::1#53
Feb  9 06:41:09 OpenWrt dnsmasq[2311]: using nameserver 75.75.76.76#53
Feb  9 06:41:09 OpenWrt dnsmasq[2311]: using nameserver 75.75.75.75#53
Feb  9 06:41:09 OpenWrt dnsmasq[2311]: using local addresses only for domain lan


opkg info odhcp6c

# opkg info odhcp6c
Package: odhcp6c
Version: 2013-02-03-237734ebc82f84d3d0c4c8591390d82f6aff89e3
Depends: libc, kmod-ipv6
Provides:
Status: install ok installed
Architecture: ar71xx
Installed-Time: 1360406732

Would really like this resolved.

comment:8 Changed 5 years ago by jeff@…

I should clarify that my connection also drops, but it doesn't drop for about one hour. I need to reset the network interfaces if I want it to work again thereafter.

comment:9 Changed 5 years ago by cyrus

as i said before. please provide me with a packet capture when this happens otherwise its really hard to debug.

comment:10 Changed 5 years ago by cyrus

if that is too complicated to you please tell me if there is still a default route and if the public adresses are missing

comment:11 Changed 5 years ago by jeff@…

Shouldn't be a problem to get a packet capture except that the issue seems ephemeral. You need a capture of the transition from "working" to "dead" actually occurring, right?

comment:12 Changed 5 years ago by cyrus

that would be ideal. however any capture including both a router advert and some dhcpv6 packets would give me a few hints

comment:13 follow-up: Changed 5 years ago by anonymous

I am experiencing a similar issue but I am not using PPPoE.

r35547 on ar71xx netgear wndr3800

Package: odhcp6c
Version: 2013-02-03-237734ebc82f84d3d0c4c8591390d82f6aff89e3
Depends: libc, kmod-ipv6
Provides:
Status: install user installed
Architecture: ar71xx
Installed-Time: 1360570875
Feb 11 09:22:58 OpenWrt daemon.info dnsmasq[2503]: reading /tmp/resolv.conf.auto
Feb 11 09:22:58 OpenWrt daemon.info dnsmasq[2503]: using nameserver 75.75.75.75#53
Feb 11 09:22:58 OpenWrt daemon.info dnsmasq[2503]: using nameserver 75.75.76.76#53
Feb 11 09:22:58 OpenWrt daemon.info dnsmasq[2503]: using local addresses only for domain lan
Feb 11 09:22:59 OpenWrt daemon.warn odhcp6c[1585]: State for eth1 changed to ra-updated
Feb 11 09:22:59 OpenWrt daemon.notice netifd: wan6 (1585): odhcp6c[1585]: State for eth1 changed to ra-updated
---------- 8< ---------- snip ---------- 8< ----------

Feb 11 09:23:57 OpenWrt daemon.info dnsmasq[2503]: reading /tmp/resolv.conf.auto
Feb 11 09:23:57 OpenWrt daemon.info dnsmasq[2503]: using nameserver 75.75.75.75#53
Feb 11 09:23:57 OpenWrt daemon.info dnsmasq[2503]: using nameserver 75.75.76.76#53
Feb 11 09:23:57 OpenWrt daemon.info dnsmasq[2503]: using local addresses only for domain lan
Feb 11 09:24:00 OpenWrt daemon.warn odhcp6c[1585]: State for eth1 changed to ra-updated
Feb 11 09:24:00 OpenWrt daemon.notice netifd: wan6 (1585): odhcp6c[1585]: State for eth1 changed to ra-updated
Feb 11 09:24:01 OpenWrt daemon.info dnsmasq[2503]: reading /tmp/resolv.conf.auto
Feb 11 09:24:01 OpenWrt daemon.info dnsmasq[2503]: using nameserver 75.75.75.75#53
Feb 11 09:24:01 OpenWrt daemon.info dnsmasq[2503]: using nameserver 75.75.76.76#53
Feb 11 09:24:01 OpenWrt daemon.info dnsmasq[2503]: using local addresses only for domain lan
Feb 11 09:24:03 OpenWrt daemon.warn odhcp6c[1585]: State for eth1 changed to ra-updated
Feb 11 09:24:03 OpenWrt daemon.notice netifd: wan6 (1585): odhcp6c[1585]: State for eth1 changed to ra-updated

Sniffing yields no DHCP activity...

root@OpenWrt:~# tcpdump -i eth1 'udp port 546' -vvv
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
27 packets received by filter
0 packets dropped by kernel

comment:14 in reply to: ↑ 13 Changed 5 years ago by cyrus

Replying to anonymous:

I am experiencing a similar issue but I am not using PPPoE.

Please give a few details about your specific issue. There have been several issues listed here.

The often occuring "State .. changed to ra-updated" in itself is not a real bug, but just some overly verbose logging that I will fix eventually.

The disappearing /128 address however is one. Is that what you are experiencing?
Do you still have a default IPv6 route when this is happening or are the missing addresses the only problem?

Please provide both a dump and the logoutput when doing "ifdown wan6; ifup wan6" in a seperate SSH / telnet session. This will restart the DHCPv6 procedure.

Last edited 5 years ago by cyrus (previous) (diff)

comment:15 Changed 5 years ago by anonymous

No, it's just my log being spammed. Is there a good reason for it to be producing so much output?

comment:16 Changed 5 years ago by cyrus

Hmm no, the reason for this is simply that every Router Advertisement (therefore ra-updated) includes updated information (and if its only updating validity timeouts) and at the moment every RA received is logged which can happen like twice an hour.

I will disable this in the future. I'm just not sure yet how to deal with the dnsmasq output. This has to be supressed as well.

comment:17 Changed 5 years ago by anonymous

OK, thanks. I am sorry for the noise on this ticket. It's the first IPv6 build I've done in a while, so that's why I'm noticing it and posting here.

The log is being updated every 2-3 seconds as you can see from the output. Maybe I'll do a quick and dirty hack of it to make my log useful again in the meantime.

comment:18 Changed 5 years ago by cyrus

  • Resolution set to fixed
  • Status changed from new to closed

I just commited r35553 which changes two things:

It doesn't announce unwanted values for the desired preferrred and / or valid lifetime for adresses and prefixes (which could be the cause for OPs issue with the disappearing addresses).

And there are no "State for ... changed to ..." log-messages anymore. This doesn't yet fix the logspam when reloading dnsmasq. However this issue is out-of-scope here.

I'll close this ticket for now. If anyone has still any kind of problem please reopen and include a packet capture of the DHCPv6 exchange either by triggering a full restart of dhcpv6 (ifdown wan6; ifup wan6) or a renew (killall -SIGUSR1 odhcp6c).

comment:19 Changed 5 years ago by anonymous

I have the same issue recently but it was normal before.

#ifup wan
#ifconfig
pppoe-wan Link encap:Point-to-Point Protocol

inet addr:118.166.152.54 P-t-P:168.95.98.254 Mask:255.255.255.255
inet6 addr: 2001:b010:2580:1800:5836:3dec:448e:29d4/64 Scope:Global
inet6 addr: fe80::5836:3dec:448e:29d4/10 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:60 errors:0 dropped:0 overruns:0 frame:0
TX packets:63 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:17070 (16.6 KiB) TX bytes:3341 (3.2 KiB)

#ifconfig
pppoe-wan Link encap:Point-to-Point Protocol

inet addr:118.166.152.54 P-t-P:168.95.98.254 Mask:255.255.255.255
inet6 addr: fe80::5836:3dec:448e:29d4/10 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:118 errors:0 dropped:0 overruns:0 frame:0
TX packets:144 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:27411 (26.7 KiB) TX bytes:11153 (10.8 KiB)

/etc/config/network as below and I am using r36736. Thanks.
config interface 'loopback'

option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'

option ula_prefix 'fda6:b725:dee7::/48'

config interface 'lan'

option ifname 'eth1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'

config interface 'wan'

option ifname 'eth0'
option proto 'pppoe'
option username 'username'
option password 'password'
option ipv6 '1'

config interface 'wan6'

option ifname '@wan'
option proto 'dhcpv6'

config switch

option name 'switch0'
option reset '1'
option enable_vlan '1'

config switch_vlan

option device 'switch0'
option vlan '1'
option ports '0 1 2 3 4'

comment:20 Changed 5 years ago by anonymous

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:21 Changed 5 years ago by anonymous

Please post the output of "ifstatus wan6" if possible before and after the adress disappears.

comment:22 Changed 5 years ago by anonymous

before and after are almost the same except uptime

root@OpenWrt:~# ifstatus wan6
{

"up": true,
"pending": false,
"available": true,
"autostart": true,
"uptime": 5,
"l3_device": "pppoe-wan",
"proto": "dhcpv6",
"device": "pppoe-wan",
"metric": 0,
"ipv4-address": [

],
"ipv6-address": [

],
"ipv6-prefix": [

{

"address": "2001:b010:2580:1801::",
"mask": 64,
"preferred": 86331,
"valid": 86331,
"assigned": {

"lan": {

"address": "2001:b010:2580:1801::",
"mask": 64

}

}

}

],
"ipv6-prefix-assignment": [

],
"route": [

{

"target": "::",
"mask": 0,
"nexthop": "fe80::230:88ff:fe04:7826",
"metric": 1024,
"valid": 1739

}

],
"dns-server": [

"2001:b000:168::1",
"2001:b000:168::2"

],
"dns-search": [

],
"inactive": {

"ipv4-address": [

],
"ipv6-address": [

],
"route": [

],
"dns-server": [

],
"dns-search": [

]

},
"data": {

}

}

comment:23 Changed 5 years ago by cyrus

Thank you very much. One more thing please:
Could you install "radvdump" and run it on a console while doing ifup wan6 so that i can see a copy of the router advertisement?

comment:24 Changed 5 years ago by anonymous

per your request, thanks

root@OpenWrt:~# radvdump
#
# radvd configuration generated by radvdump 1.9.1
# based on Router Advertisement from fe80::230:88ff:fe04:7826
# received by interface pppoe-wan
#

interface pppoe-wan
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag off;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;
        AdvLinkMTU 1492;

        prefix 2001:b010:2580:1800::/64
        {
                AdvValidLifetime infinity; # (0xffffffff)
                AdvPreferredLifetime infinity; # (0xffffffff)
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition

comment:25 Changed 5 years ago by cyrus

  • Resolution set to fixed
  • Status changed from reopened to closed

Thanks, the issue was apparently triggered by the infinite address lifetime.
It should be fixed in netifd with r36748.

Please reopen if the problem still exists.

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.