Modify

Opened 3 years ago

Last modified 3 years ago

#18774 new defect

"Unstable" native IPv6 connectivity

Reported by: kweasdz@… Owned by: developers
Priority: normal Milestone:
Component: packages Version: Barrier Breaker 14.07
Keywords: ipv6 Cc:

Description

I am experiencing some issues with IPv6, with random loss of connectivity for just a couple of seconds every few minutes.
The device is a TP-Link TL-WR1043N/ND v1, with OpenWrt Barrier Breaker 14.07 / LuCI Trunk (0.12+svn-r10530).

Here is how the problem crops up, from the router itself:

root@OpenWrt:~# ping6 ipv6.google.com; date;
PING ipv6.google.com (2a00:1450:4002:803::1001): 56 data bytes
64 bytes from 2a00:1450:4002:803::1001: seq=0 ttl=54 time=61.890 ms
64 bytes from 2a00:1450:4002:803::1001: seq=1 ttl=54 time=69.995 ms
...
64 bytes from 2a00:1450:4002:803::1001: seq=33 ttl=54 time=61.915 ms
64 bytes from 2a00:1450:4002:803::1001: seq=34 ttl=52 time=81.109 ms
ping6: sendto: Operation not permitted
Mon Jan 12 22:36:26 UTC 2015

Connectivity is re-established almost immediately. When pinging from a host on the lan, for a few seconds the error "Destination unreachable: No route" is shown. Moreover, the pppoe connection stays up during the event.

logread (mac addresses are stripped out)

Mon Jan 12 22:31:57 2015 daemon.notice odhcp6c[1062]: Starting RENEW transaction (timeout 108s, max rc 0)
Mon Jan 12 22:31:57 2015 daemon.notice odhcp6c[1062]: Send RENEW message (elapsed 0ms, rc 0)
Mon Jan 12 22:31:57 2015 daemon.notice odhcp6c[1062]: Got a valid reply after 60ms
Mon Jan 12 22:31:57 2015 daemon.warn odhcp6c[1062]: Server returned message status 0 
Mon Jan 12 22:31:57 2015 daemon.notice odhcp6c[1062]: Starting <POLL> transaction (timeout 180s, max rc 0)
Mon Jan 12 22:34:57 2015 daemon.notice odhcp6c[1062]: Starting RENEW transaction (timeout 108s, max rc 0)
Mon Jan 12 22:34:57 2015 daemon.notice odhcp6c[1062]: Send RENEW message (elapsed 0ms, rc 0)
Mon Jan 12 22:34:57 2015 daemon.notice odhcp6c[1062]: Got a valid reply after 58ms
Mon Jan 12 22:34:57 2015 daemon.warn odhcp6c[1062]: Server returned message status 0 
Mon Jan 12 22:34:57 2015 daemon.notice odhcp6c[1062]: Starting <POLL> transaction (timeout 180s, max rc 0)
Mon Jan 12 22:37:23 2015 daemon.info dnsmasq-dhcp[1136]: DHCPINFORM(br-lan) 192.168.0.209 ee:ee:ee:ee:ee:ee 
Mon Jan 12 22:37:23 2015 daemon.info dnsmasq-dhcp[1136]: DHCPACK(br-lan) 192.168.0.209 ee:ee:ee:ee:ee:ee PC-abc2
Mon Jan 12 22:37:57 2015 daemon.notice odhcp6c[1062]: Starting RENEW transaction (timeout 108s, max rc 0)
Mon Jan 12 22:37:57 2015 daemon.notice odhcp6c[1062]: Send RENEW message (elapsed 0ms, rc 0)
Mon Jan 12 22:37:57 2015 daemon.notice odhcp6c[1062]: Got a valid reply after 58ms
Mon Jan 12 22:37:57 2015 daemon.warn odhcp6c[1062]: Server returned message status 0 
Mon Jan 12 22:37:57 2015 daemon.notice odhcp6c[1062]: Starting <POLL> transaction (timeout 180s, max rc 0)

Here is also an excerpt of /etc/config/network:

config interface 'wan'
    option ifname 'eth0.2'
    option proto 'pppoe'
    option peerdns '0'
    option dns '8.8.8.8 8.8.4.4'
    option username 'adsl@alice6.it'
    option password 'IPV6@alice6'

config interface 'wan6'
    option ifname '@wan'
    option proto 'dhcpv6'
    option peerdns '0'
    option dns '2001:4860:4860::8888 2001:4860:4860::8844'

/etc/config/dhcp

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.auto'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv6 'server'
	option ra 'server'
	option ra_management '1'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'

Thanks.

Attachments (0)

Change History (2)

comment:1 Changed 3 years ago by kweasdz@…

The problem still occurs with Chaos Calmer 15.05-rc2.

comment:2 Changed 3 years ago by simon.vetter

Also seeing this on Chaos Chalmer 15.05-rc3.

I believe that it is due to the fact that dhcp6c deletes and re-adds the default route(s) routes to reset their valid lifetime whenever an RA is received on the wan interface (or at least, that's what I'm seeing with ip -6 monitor route. I have also found that this happens whenever the odhcp6c.script handler is called).

This also affects machines behind the openwrt router which periodically (in my case, anywhere between 30s to 1 minute) lose connectivity and get icmp route unreachables - no route for about a second.

odhcp6c should probably update the routes instead of deleting/readding them, or add routes with infinite lifetimes and only remove them from the kernel when they are actually expiring (by i.e. implementing route expiry timers).

Add Comment

Modify Ticket

Action
as new .
Author


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

 
Note: See TracTickets for help on using tickets.