[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