[Olsr-users] Routing problems with multiple interfaces
David Murray
(spam-protected)
Fri Jan 18 08:35:55 CET 2008
Hi,
I now have much more defined idea of my problem/olsr bug. This problem
is only likely to affect a very small number of users who are using
multiple interfaces and changing channels of interfaces while running
olsr. The diagram below shows the setup with four nodes - A, B, C and D
each with two interfaces Ath0 and Ath1. Also shown are the IP addresses
of each node and the frequency of each link.
Ath1 10.173.56.237 Ath1 10.121.39.119
| 5.825Ghz |
A-------------------B
Ath0 10.173.54.111 -| |- Ath0 10.121.42.92
| |
| |
5.32Ghz| |5.26Ghz
| |
| |
Ath0 10.87.21.61 -| |- Ath0 10.78.114.25
C-------------------D
| 5.785Ghz |
Ath1 10.16.34.192 Ath1 10.86.251.86
Now, because these channels are (initially) dynamically assigned,
different interfaces could previously have had links with different
nodes. From my experience, Olsr has been very quick and reliable at
cutting out old/stale routes and installing newly discovered routes
(which might have occurred because of a complete channel change.
However, while Olsr seems to be fine, it is my understanding that the
OLSR and its routing table are used to instruct the Kernel IP routing
table of the various routes. The contents of the Kernel IP routing
table are then used in decisions such as which interface to broadcast
ARP/RARP and build the ARP table.
When using multiple interfaces in the way that I have, It seems that
sometimes, old/stale routes are not removed from the kernel routing
table. The details of each node (A,B,C and D) are shown below. The node
that is of interest is node D. If you look at the kernel IP routing
table for node D you will see two routing entries each of the following
IP addresses: 10.121.42.92, 10.121.39.119 and 10.16.34.192. This error
in the kernel routing table also has a follow on error because ARP on
node D is now sending out ARP requests for 10.121.39.119 on the wrong
interface (see Node D's ARP table). This problem is causing
connectivity problems between different nodes (some pings are
unsuccessful).
Is this a possible bug in OLSR or is it something that I should be
accommodating for in what I am doing (eg check and manually delete
duplicate kernel routes and hope that OLSR rebuilds them).
Thanks
Dave
---------------------------------------------------------------------------
##########
# Node A #
##########
Interface Stats
---------------
ath0 freq:5.32 IP - 10.173.54.111
ath1 freq:5.825 IP - 10.173.56.237
Ping Test - Ping every other IP address
---------------------------------------
10.87.21.61 is alive
10.16.34.192 is alive
10.121.42.92 is alive
10.121.39.119 is alive
10.78.114.25 is alive
10.86.251.86 is alive
OLSR Routing output
-------------------
<SNIP: Links, Neighbors, Topology, HNA>
Table: MID
IP Aliases
10.121.39.119 10.121.42.92
10.86.251.86 10.78.114.25
10.87.21.61 10.16.34.192
Table: Routes
Destination Gateway Metric ETX Interface
10.78.114.25/32 10.121.39.119 2 2.000 ath1
10.87.21.61/32 10.87.21.61 1 1.091 ath0
10.86.251.86/32 10.121.39.119 2 2.000 ath1
10.121.42.92/32 10.121.39.119 1 1.000 ath1
10.121.39.119/32 10.121.39.119 1 1.000 ath1
10.16.34.192/32 10.87.21.61 1 1.091 ath0
Kernel IP routing table
-----------------------
Destination Gateway Genmask Flags Metric Ref Use Iface
10.121.42.92 10.121.39.119 255.255.255.255 UGH 2 0 0 ath1
10.121.39.119 * 255.255.255.255 UH 1 0 0 ath1
10.78.114.25 10.121.39.119 255.255.255.255 UGH 2 0 0 ath1
10.16.34.192 10.87.21.61 255.255.255.255 UGH 2 0 0 ath0
10.86.251.86 10.121.39.119 255.255.255.255 UGH 2 0 0 ath1
10.87.21.61 * 255.255.255.255 UH 1 0 0 ath0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 ath1
10.0.0.0 * 255.0.0.0 U 0 0 0 ath0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
ARP Table
---------
Address HWtype HWaddress Flags Mask
Iface
10.121.39.119 ether 00:12:17:79:27:77 C
ath1
10.87.21.61 ether 00:0B:6B:57:15:3D C
ath0
192.168.1.100 ether 00:1B:24:03:EF:B6 C
eth0
192.168.1.100 ether 00:1B:24:03:EF:B6 C
eth0
---------------------------------------------------------------------------
##########
# Node B #
##########
Interface Stats
---------------
ath0 freq:5.26 - 10.121.42.92
ath1 freq:5.825 - 10.121.39.119
Ping Test - Ping every other IP address
---------------------------------------
ICMP Host Unreachable from 10.78.114.25 for ICMP Echo sent to 10.87.21.61
ICMP Host Unreachable from 10.78.114.25 for ICMP Echo sent to 10.87.21.61
ICMP Host Unreachable from 10.78.114.25 for ICMP Echo sent to 10.87.21.61
10.173.54.111 is alive
10.173.56.237 is alive
10.78.114.25 is alive
10.86.251.86 is alive
10.16.34.192 is alive
10.87.21.61 is unreachable
OLSR Routing output
-------------------
<SNIP: Links, Neighbors, Topology, HNA>
Table: MID
IP Aliases
10.86.251.86 10.78.114.25
10.87.21.61 10.16.34.192
10.173.54.111 10.173.56.237
Table: Routes
Destination Gateway Metric ETX Interface
10.78.114.25/32 10.78.114.25 1 1.000 ath0
10.87.21.61/32 10.78.114.25 2 2.000 ath0
10.86.251.86/32 10.78.114.25 1 1.000 ath0
10.173.54.111/32 10.173.56.237 1 1.000 ath1
10.16.34.192/32 10.78.114.25 2 2.000 ath0
10.173.56.237/32 10.173.56.237 1 1.000 ath1
Kernel IP routing table
-----------------------
Destination Gateway Genmask Flags Metric Ref Use Iface
10.173.56.237 * 255.255.255.255 UH 1 0 0 ath1
10.173.54.111 10.173.56.237 255.255.255.255 UGH 2 0 0 ath1
10.78.114.25 * 255.255.255.255 UH 1 0 0 ath0
10.16.34.192 10.78.114.25 255.255.255.255 UGH 2 0 0 ath0
10.87.21.61 10.78.114.25 255.255.255.255 UGH 2 0 0 ath0
10.86.251.86 10.78.114.25 255.255.255.255 UGH 2 0 0 ath0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 ath1
10.0.0.0 * 255.0.0.0 U 0 0 0 ath0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
ARP Table
---------
Address HWtype HWaddress Flags Mask
Iface
192.168.1.1 ether 00:12:17:9E:AE:40 C
eth0
10.78.114.25 ether 00:0B:6B:4E:72:19 C
ath0
10.173.56.237 ether 00:40:96:AD:38:ED C
ath1
192.168.1.100 ether 00:1B:24:03:EF:B6 C
eth0
---------------------------------------------------------------------------
##########
# Node C #
##########
Interface Stats
---------------
ath0 freq:5.32 IP - 10.87.21.61
ath1 freq:5.785 IP - 10.16.34.192
Ping Test - Ping every other IP address
---------------------------------------
ICMP Host Unreachable from 10.86.251.86 for ICMP Echo sent to 10.121.39.119
ICMP Host Unreachable from 10.86.251.86 for ICMP Echo sent to 10.121.39.119
ICMP Host Unreachable from 10.86.251.86 for ICMP Echo sent to 10.121.39.119
10.173.54.111 is alive
10.173.56.237 is alive
10.121.42.92 is alive
10.78.114.25 is alive
10.86.251.86 is alive
10.121.39.119 is unreachable
OLSR Routing output
-------------------
<SNIP: Links, Neighbors, Topology, HNA>
Table: MID
IP Aliases
10.121.39.119 10.121.42.92
10.86.251.86 10.78.114.25
10.173.54.111 10.173.56.237
Table: Routes
Destination Gateway Metric ETX Interface
10.78.114.25/32 10.86.251.86 1 1.000 ath1
10.86.251.86/32 10.86.251.86 1 1.000 ath1
10.121.42.92/32 10.86.251.86 2 2.000 ath1
10.173.54.111/32 10.173.54.111 1 1.000 ath0
10.121.39.119/32 10.86.251.86 2 2.000 ath1
10.173.56.237/32 10.173.54.111 1 1.000 ath0
Kernel IP routing table
-----------------------
Destination Gateway Genmask Flags Metric Ref Use Iface
10.173.56.237 10.173.54.111 255.255.255.255 UGH 2 0 0 ath0
10.121.42.92 10.86.251.86 255.255.255.255 UGH 2 0 0 ath1
10.173.54.111 * 255.255.255.255 UH 1 0 0 ath0
10.121.39.119 10.86.251.86 255.255.255.255 UGH 2 0 0 ath1
10.78.114.25 10.86.251.86 255.255.255.255 UGH 2 0 0 ath1
10.86.251.86 * 255.255.255.255 UH 1 0 0 ath1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 ath0
10.0.0.0 * 255.0.0.0 U 0 0 0 ath1
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
ARP Table
---------
Address HWtype HWaddress Flags Mask
Iface
192.168.1.1 ether 00:12:17:9E:AE:40 C
eth0
192.168.1.100 ether 00:1B:24:03:EF:B6 C
eth0
10.173.54.111 ether 00:40:96:AD:36:6F C
ath0
10.86.251.86 ether 00:0B:6B:56:FB:56 C
ath1
---------------------------------------------------------------------------
##########
# Node D #
##########
Interface Stats
---------------
ath0 freq:5.26 IP - 10.78.114.25
ath1 freq:5.785 IP - 10.86.251.86
Ping Test - Ping every other IP address
---------------------------------------
ICMP Host Unreachable from 10.86.251.86 for ICMP Echo sent to 10.121.39.119
ICMP Host Unreachable from 10.86.251.86 for ICMP Echo sent to 10.87.21.61
ICMP Host Unreachable from 10.86.251.86 for ICMP Echo sent to 10.121.39.119
10.173.54.111 is alive
10.173.56.237 is alive
10.16.34.192 is alive
10.121.42.92 is alive
10.87.21.61 is unreachable
10.121.39.119 is unreachable
OLSR Routing output
-------------------
<SNIP: Links, Neighbors, Topology, HNA>
Table: MID
IP Aliases
10.121.39.119 10.121.42.92
10.87.21.61 10.16.34.192
10.173.54.111 10.173.56.237
Table: Routes
Destination Gateway Metric ETX Interface
10.87.21.61/32 10.16.34.192 1 1.000 ath1
10.121.42.92/32 10.121.42.92 1 1.000 ath0
10.173.54.111/32 10.16.34.192 2 2.000 ath1
10.121.39.119/32 10.121.42.92 1 1.000 ath0
10.16.34.192/32 10.16.34.192 1 1.000 ath1
10.173.56.237/32 10.16.34.192 2 2.000 ath1
Kernel IP routing table
-----------------------
Destination Gateway Genmask Flags Metric Ref Use Iface
10.173.56.237 10.16.34.192 255.255.255.255 UGH 2 0 0 ath1
10.173.54.111 10.16.34.192 255.255.255.255 UGH 2 0 0 ath1
10.121.42.92 * 255.255.255.255 UH 1 0 0 ath0
10.121.42.92 10.121.39.119 255.255.255.255 UGH 2 0 0 ath1
10.121.39.119 * 255.255.255.255 UH 1 0 0 ath1
10.121.39.119 10.121.42.92 255.255.255.255 UGH 2 0 0 ath0
10.16.34.192 * 255.255.255.255 UH 1 0 0 ath1
10.16.34.192 10.121.39.119 255.255.255.255 UGH 2 0 0 ath1
10.87.21.61 10.121.39.119 255.255.255.255 UGH 2 0 0 ath1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 ath1
10.0.0.0 * 255.0.0.0 U 0 0 0 ath0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
ARP Table
---------
Address HWtype HWaddress Flags Mask
Iface
192.168.1.1 ether 00:12:17:9E:AE:40 C
eth0
10.16.34.192 ether 00:15:6D:10:22:C0 C
ath1
10.121.42.92 ether 00:12:17:79:2A:5C C
ath0
192.168.1.100 ether 00:1B:24:03:EF:B6 C
eth0
10.121.39.119 (incomplete)
ath1
More information about the Olsr-users
mailing list