Modify

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#19262 closed defect (fixed)

odhcp6c does not set default route (r44918 / ar71xx)

Reported by: risa2000 Owned by: developers
Priority: normal Milestone:
Component: packages Version: Trunk
Keywords: odhcp6c Cc:

Description

The previous build which has been working correctly in the same environment
was r44232. When it got broken I do not know. I am running TL-WR1043NDv2.
My network configuration is
following.

/etc/config/network excerpt

config interface        lan
        option ifname   eth1
        option type     bridge
        option proto    static
        option ipaddr   192.168.6.10
        option netmask  255.255.255.0
        option ip6addr  2a01:x:y:z::6/64

config interface        wan
        option ifname   eth0
        option proto    dhcp

config interface        wan6
        option ifname   eth0
        option proto    dhcpv6

/etc/config/dhcp excerpt

config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
list dhcp_option 'vendor:MSFT,1,2i'
list dhcp_option 'vendor:MSFT,2,1i'
list dhcp_option 'option:ntp-server,0.0.0.0'
list dhcp_option '252,"\n"'
option ra 'server'
option ndp 'relay'

config dhcp 'wan6'
option interface 'wan6'
option master '1'
option ndp 'relay'

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

This leads to following IP configuration:

root@risa-wrt:~# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2a01:x:y:z:12fe:edff:fee6:5da9/64 scope global dynamic
       valid_lft 85842sec preferred_lft 85842sec
    inet6 fe80::12fe:edff:fee6:5da9/64 scope link
       valid_lft forever preferred_lft forever
5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    inet6 2a01:x:y:z:12fe:edff:fee6:5da9/64 scope global dynamic
       valid_lft 85842sec preferred_lft 85842sec
    inet6 2a01:x:y:z::6/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::12fe:edff:fee6:5da8/64 scope link
       valid_lft forever preferred_lft forever
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::12fe:edff:fee6:5da8/64 scope link
       valid_lft forever preferred_lft forever

My ISP modem provides 2a01:x:y:z::/64 subnet to my router on eth0 using SLAAC:

root@risa-wrt:~# tcpdump -i eth0 -n v -f icmp6
16:55:16.385001 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 104) fe80::207:cbff:fe96:d1de > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 104
hop limit 64, Flags [none], pref medium, router lifetime 1800s, reachable time 0s, retrans time 0s
  prefix info option (3), length 32 (4): 2a01:x:y:z::/64, Flags [onlink, auto], valid time 86400s, pref. time 86400s
  rdnss option (25), length 40 (5):  lifetime 600s, addr: 2a01:e00::2 addr: 2a01:e00::1
  mtu option (5), length 8 (1):  1480
  source link-address option (1), length 8 (1): 00:07:cb:96:d1:de
16:55:17.588245 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::12fe:edff:fee6:5da9 > ff02::1:ff00:6: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2a01:x:y:z::6
  source link-address option (1), length 8 (1): 10:fe:ed:e6:5d:a9
16:55:18.584165 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::12fe:edff:fee6:5da9 > ff02::1:ff00:6: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2a01:x:y:z::6
  source link-address option (1), length 8 (1): 10:fe:ed:e6:5d:a9
16:55:19.584157 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::12fe:edff:fee6:5da9 > ff02::1:ff00:6: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2a01:x:y:z::6
  source link-address option (1), length 8 (1): 10:fe:ed:e6:5d:a9

What is strange here are following "neighbour solicitation" packets originated
on eth0 interface and requesting br-lan interface. But the remote DNS has been
resolved correctly:

cat /tmp/resolv.conf.auto 
# Interface wan
nameserver 212.27.40.240
nameserver 212.27.40.241
# Interface wan6
nameserver 2a01:e00::2
nameserver 2a01:e00::1

As confirms also ping to google:

root@risa-wrt:~# ping -6 www.google.com
PING www.google.com (2a00:1450:4002:803::1014): 56 data bytes
ping: sendto: Permission denied

It is just the default route which is missing:

root@risa-wrt:~# ip -6 route
2a01:x:y:z::6 dev br-lan  proto static  metric 1024 
2a01:x:y:z:12fe:edff:fee6:5da9 dev br-lan  proto static  metric 1024 
2a01:x:y:z:80f2:8dc9:cae3:7925 dev br-lan  proto static  metric 1024 
2a01:x:y:z:c71b:460e:f24a:4947 dev br-lan  proto static  metric 1024 
2a01:x:y:z::/64 dev eth0  proto static  metric 256 
2a01:x:y:z::/64 dev br-lan  proto kernel  metric 256  expires 86348sec
fe80::/64 dev br-lan  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev wlan0  proto kernel  metric 256

Adding the route manually (using address from the router advertisement) fixes
the problem:

root@risa-wrt:~# ip -6 route add default via fe80::207:cbff:fe96:d1de dev eth0
root@risa-wrt:~# ip -6 route
2a01:x:y:z::6 dev br-lan  proto static  metric 1024 
2a01:x:y:z:12fe:edff:fee6:5da9 dev br-lan  proto static  metric 1024 
2a01:x:y:z:80f2:8dc9:cae3:7925 dev br-lan  proto static  metric 1024 
2a01:x:y:z:c71b:460e:f24a:4947 dev br-lan  proto static  metric 1024 
2a01:x:y:z::/64 dev eth0  proto static  metric 256 
2a01:x:y:z::/64 dev br-lan  proto kernel  metric 256  expires 86190sec
fe80::/64 dev br-lan  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev wlan0  proto kernel  metric 256 
default via fe80::207:cbff:fe96:d1de dev eth0  metric 1024 

root@risa-wrt:~# ping -6 www.google.com
PING www.google.com (2a00:1450:400b:c01::93): 56 data bytes
64 bytes from 2a00:1450:400b:c01::93: seq=0 ttl=55 time=47.169 ms
64 bytes from 2a00:1450:400b:c01::93: seq=1 ttl=55 time=47.222 ms
64 bytes from 2a00:1450:400b:c01::93: seq=2 ttl=55 time=47.780 ms
^C
--- www.google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss

Attachments (0)

Change History (4)

comment:1 follow-up: Changed 3 years ago by nbd

please try r44918 or newer

comment:2 in reply to: ↑ 1 Changed 3 years ago by anonymous

Replying to nbd:

please try r44918 or newer

You probably meant r44919, which was the check-in that fixed ipv6 routing.

comment:3 Changed 3 years ago by cyrus

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

comment:4 Changed 3 years ago by risa2000

I confirm the default routing setup is fixed in r45073.

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.