(usagi-users 03809) Re: Tunneling problems
"Jukka Rissanen" <[email protected]> Mon, 19 Feb 2007 15:25:35 +0200
| Newsgroups | gmane.linux.ipv6.usagi.users |
|---|---|
| Message-ID | <[email protected]> |
Hi again, On 2/18/07, Shinta Sugimoto <[email protected]> wrote: > > Right. It seems weird that there are two host route entries for > the same host (mobile node). As you point out, the first route > entry seems to be redundant. What about the neighbor entry? > could you try 'ip -6 neigh show' ? Neigh shows only AR link address when ip cmd is executed in HA. > > I am not sure if the above indication is directly related to > the problem you reported in the other mail. > Below are some more information about routes and configuration if that could solve the problem. Picture of the test network: +--------+ 2001:db8:c0a8:64::1 | HA |---------------------+ +--------+ | | 2001:db8:c0a8:c8::1 | | | | | | | | | +-----+ | | AP1 | | +-----+ | | 2001:db8:c0a8:64::a +------+ | AR | +------+ | 2001:db8:a01::1 | | | | +-----+ | AP2 | +-----+ The HA and AR (but not MN) are using dynamic routing using quagga. I thought that quagga might set the routes wrongly but situation didn't change even if I stop quagga (zebra). Configuration of HA: radvd.conf ---------- # foreign network interface eth0 { AdvSendAdvert on; AdvIntervalOpt on; MinRtrAdvInterval 1; MaxRtrAdvInterval 3; AdvHomeAgentFlag off; prefix 2001:db8:c0a8:64::1/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; }; # home network interface eth1 { AdvSendAdvert on; AdvIntervalOpt off; MinRtrAdvInterval 1; MaxRtrAdvInterval 3; AdvHomeAgentFlag on; AdvHomeAgentInfo on; HomeAgentPreference 10; prefix 2001:db8:c0a8:c8::1/64 { AdvOnLink on; AdvRouterAddr on; AdvAutonomous on; }; }; mipv6d.conf ----------- NodeConfig HA; DebugLevel 10; Interface "eth1"; UseMnHaIPsec disabled; KeyMngMobCapability disabled; interfaces ---------- # foreign interface auto eth0 iface eth0 inet static address 192.168.100.1 netmask 255.255.255.0 network 192.168.100.0 broadcast 192.168.100.255 gateway 192.168.100.10 up route add -net 10.1.0.0 netmask 255.255.0.0 gw 192.168.100.10 up route add -net 10.2.0.0 netmask 255.255.0.0 gw 192.168.100.20 iface eth0 inet6 static address 2001:0db8:c0a8:64::1 netmask 64 # home interface auto eth1 iface eth1 inet static address 192.168.200.1 netmask 255.255.255.0 network 192.168.200.0 broadcast 192.168.200.255 iface eth1 inet6 static address 2001:0db8:c0a8:c8::1 netmask 64 up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf up echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra up echo 0 > /proc/sys/net/ipv6/conf/all/accept_redirects up echo 1 > /proc/sys/net/ipv6/conf/all/proxy_ndp zebra.conf ---------- ! hostname XXX password XXX enable password XXX ! interface eth0 ipv6 address 2001:db8:c0a8:64::1/64 ! interface eth1 ipv6 address 2001:db8:c0a8:c8::1/64 ! interface lo ! ip forwarding ! line vty ! log file /var/log/zebra/zebra.log In HA, the route and ip command show routes differently, why is that? # ip -6 route 2001:db8:a01::/64 via fe80::212:3fff:feaa:3b86 dev eth0 proto zebra metric 2 expires 20907226sec mtu 1500 advmss 1440 hoplimit 4294967295 2001:db8:c0a8:64::/64 dev eth0 metric 256 expires 20907225sec mtu 1500 advmss 1440 hoplimit 4294967295 2001:db8:c0a8:c8:204:23ff:fe97:261a dev ip6tnl1 proto 16 metric 192 expires 21334261sec mtu 1460 advmss 1400 hoplimit 4294967295 2001:db8:c0a8:c8::/64 dev eth1 metric 256 expires 21070316sec mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev eth0 metric 256 expires 20907216sec mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev eth1 metric 256 expires 21070316sec mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev ip6tnl1 metric 256 expires 21334261sec mtu 1460 advmss 1400 hoplimit 4294967295 # route -6 Kernel IPv6 routing table Destination Next Hop Flags Metric Ref Use Iface 2001:db8:c0a8:c8:204:23ff:fe97:261a/128 :: U 128 0 0 eth1 2001:db8:a01::/64 fe80::212:3fff:feaa:3b86 UG 2 16 0 eth0 2001:db8:c0a8:64::/64 :: U 256 0 0 eth0 2001:db8:c0a8:c8:204:23ff:fe97:261a/128 :: U 192 0 0 ip6tnl1 2001:db8:c0a8:c8::/64 :: U 256 0 0 eth1 fe80::/64 :: U 256 0 0 eth0 fe80::/64 :: U 256 0 0 eth1 fe80::/64 :: U 256 0 0 ip6tnl1 When in foreign net, the MN (2001:db8:c0a8:c8:204:23ff:fe97:261a) route in HA is wrong, as seen by ip cmd (route should be directed to tunnel instead of eth1 which is home net, as described in earlier mails) # ip -6 route get 2001:db8:c0a8:c8:204:23ff:fe97:261a 2001:db8:c0a8:c8:204:23ff:fe97:261a from 2001:db8:c0a8:c8::1 via 2001:db8:c0a8:c8:204:23ff:fe97:261a dev eth1 src 2001:db8:c0a8:c8::1 metric 0 cache mtu 1500 advmss 1440 hoplimit 4294967295 In MN the configuration looks like this. mipv6d.conf ----------- NodeConfig MN; DebugLevel 10; Interface "eth0"; MnHomeLink "eth0" { UseAutoconfHomeAddress enabled; HomeAgentAddress 2001:db8:c0a8:c8::1; HomeAddress 2001:db8:c0a8:c8::/64; } UseMnHaIPsec disabled; KeyMngMobCapability disabled; The UseAutoconfHomeAddress is a new keyword that allows the MN to use its autoconf address as a base for home address. I send the patch to mailing list in separate mail. interfaces.home --------------- iface eth0 inet dhcp wpa-driver wext wpa-ssid foobar113 wpa-ap-scan 1 wpa-proto WPA wpa-pairwise TKIP wpa-key-mgmt WPA-PSK wpa-psk ################ up echo 0 > /proc/sys/net/ipv6/conf/eth0/forwarding up echo 1 > /proc/sys/net/ipv6/conf/eth0/autoconf up echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_ra up echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_redirects interfaces.foreign ------------------ iface eth0 inet dhcp wpa-driver wext wpa-ssid foobar112 wpa-ap-scan 1 wpa-proto WPA wpa-pairwise TKIP wpa-key-mgmt WPA-PSK wpa-psk ################ up echo 0 > /proc/sys/net/ipv6/conf/eth0/forwarding up echo 1 > /proc/sys/net/ipv6/conf/eth0/autoconf up echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_ra up echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_redirects I am kind of stuck here, and would really appreciate any help anyone can give. Regards, Jukka