[OLSR-users] Re: multiple interfaces? (long post)

aled (spam-protected)
Wed Jan 26 01:50:35 CET 2005


> While the multiple interface scenario seems to work quite well for many 
> people, it has been reported by one person that a link to a neighbour 
> never becomes symmetric in spite of zero packet loss and a corresponding 
> ETX of 1.00. So, there might very well be a bug in the LQ implementation 
> that doesn't show up very often.
> 
> Tracking the reported problem down is on my to-do list for 0.4.9. So, it 
> would be interesting to find out whether you are facing the same problem.
> 
> Could you supply some additional information on your infrastructure, its 
> network topology and IP addresses? Based on the additional information 
> we could then ask you to create debug logs that help us track down what 
> causes the problem that you have.

Ok, sorry for the delay, but in light of the replies I recieved on this list
(thanks!) I went back and checked everything, and re-read all the documentation.

The bottom line is I still can't get it working. I'm not sure if htis is the
same bug
that you mention; I'll let you decide. So I've included as much info as possible
in this post.

I have a network of 5 WRT54G's, all running OpenWRT (i.e. Linux 2.4.20, mips
architecture). I installed a binary version of olsrd 0.4.8 from
http://www.wildcatwireless.net/wrt54g. It works absolutely perfectly when
configured on only one interface. Never crashed or gone wrong in any way, to my
knowledge. It's quite hard to change the configuration, as these routers are in
different houses, and in use, and I have limited physical access.

The routers are numbered 1,2,3,5 and 7. Router 1 is the connection to the
internet. They are arranged such that 2, 5 and 1 have good connectivity, 7 and 3
have good connectivity, and 7 and 1 have poor connectivity (although 7 and 1 are
physically close).

  2    1            7   3     <- closer numbers have
  5                              better connectivity

So, I decided to put an ethernet cable between 7 and 1. Here is a diagram of the
network interfaces on 7 and 1:


         eth1, 10.1.5.1, mask 255.255.255.0, bcast 10.1.5.255
                   \|/ 
                    |
         ---------  |
vlan0  --|Router1|---
internet |       |
         ---------    
          |vlan2, 10.254.1.3, mask 255.255.255.0, bcast 10.254.1.255 
          |
          |
     -----|     eth1, 10.1.5.7, mask 255.255.255.0, bcast 10.1.5.255
     |             \|/
     |              |
     |  ---------   |
     |  |Router7|---
     |  |
     |  ---------    
     |    |vlan0, 10.254.1.1, mask 255.255.255.0, bcast 10.254.1.255 
     ------ 

Here is the router 1's olsrd.conf

DebugLevel 0
IpVersion       4
Hna4
{
   0.0.0.0      0.0.0.0
}
AllowNoInt      yes
IpcConnect
{
     MaxConnections  1
     Host            127.0.0.1
}
LinkQualityLevel 2
LinkQualityWinSize 20
UseHysteresis  no
Pollrate        0.05
TcRedundancy 2
Interface "vlan2"
{
    Ip4Broadcast 10.254.1.255
}
Interface "eth1"
{
    Ip4Broadcast        10.1.5.255
}

Here is router 7's olsrd.conf:

DebugLevel 0
IpVersion 4
Hna4
{
}
AllowNoInt yes
IpcConnect
{
     MaxConnections  1
     Host            127.0.0.1
}
LinkQualityLevel 2
LinkQualityWinSize 20
UseHysteresis   no
Pollrate        0.05
TcRedundancy 2
Interface "vlan0"
{
  Ip4Broadcast  10.254.1.255
}
Interface "eth1"
{
  Ip4Broadcast  10.1.5.255
}


OK, now *before* I plug in the cable (olsrd is running), here are the routing
tables. There is a lot of irrelevent stuff in here, in particular the other
vlan's, and tun0 (an OpenVPN tunnel). I'm slightly concerned that 10.1.5.2
doesn't appear in router1's routing table at this point. (should I be?)

(spam-protected):~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
10.1.5.7        *               255.255.255.255 UH    1      0        0 eth1
10.1.5.5        *               255.255.255.255 UH    1      0        0 eth1
10.1.5.3        10.1.5.7        255.255.255.255 UGH   2      0        0 eth1
10.254.1.1      10.1.5.7        255.255.255.255 UGH   1      0        0 eth1
10.254.1.1      *               255.255.255.255 UH    1      0        0 vlan2
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 vlan0
10.1.4.0        *               255.255.255.0   U     0      0        0 vlan4
10.1.5.0        *               255.255.255.0   U     0      0        0 eth1
10.254.1.0      *               255.255.255.0   U     0      0        0 vlan2
10.1.1.0        *               255.255.255.0   U     0      0        0 vlan1
10.1.3.0        *               255.255.255.0   U     0      0        0 vlan3
default         192.168.1.1     0.0.0.0         UG    0      0        0 vlan0


(spam-protected):~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.1        10.8.0.29       255.255.255.255 UGH   0      0        0 tun0
10.8.0.29       *               255.255.255.255 UH    0      0        0 tun0
10.1.5.5        10.1.5.1        255.255.255.255 UGH   2      0        0 eth1
10.1.5.2        10.1.5.1        255.255.255.255 UGH   2      0        0 eth1
10.254.1.3      10.1.5.1        255.255.255.255 UGH   1      0        0 eth1
10.1.5.3        *               255.255.255.255 UH    1      0        0 eth1
10.1.5.1        *               255.255.255.255 UH    1      0        0 eth1
10.7.4.0        *               255.255.255.0   U     0      0        0 vlan4
10.1.5.0        *               255.255.255.0   U     0      0        0 eth1
10.254.1.0      *               255.255.255.0   U     0      0        0 vlan0
10.7.1.0        *               255.255.255.0   U     0      0        0 vlan1
10.7.3.0        *               255.255.255.0   U     0      0        0 vlan3
10.7.2.0        *               255.255.255.0   U     0      0        0 vlan2
default         10.8.0.29       0.0.0.0         UG    0      0        0 tun0

So it seems mostly reasonable at this point. Now I plug in the cable. Wait a
minute for the routes to recalculate... 

(spam-protected):~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
10.1.5.7        10.1.5.3        255.255.255.255 UGH   2      0        0 eth1
10.1.5.5        *               255.255.255.255 UH    1      0        0 eth1
10.1.5.3        *               255.255.255.255 UH    1      0        0 eth1
10.254.1.1      *               255.255.255.255 UH    1      0        0 vlan2
10.254.1.1      10.1.5.3        255.255.255.255 UGH   2      0        0 eth1
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 vlan0
10.1.4.0        *               255.255.255.0   U     0      0        0 vlan4
10.1.5.0        *               255.255.255.0   U     0      0        0 eth1
10.254.1.0      *               255.255.255.0   U     0      0        0 vlan2
10.1.1.0        *               255.255.255.0   U     0      0        0 vlan1
10.1.3.0        *               255.255.255.0   U     0      0        0 vlan3
default         192.168.1.1     0.0.0.0         UG    0      0        0 vlan0

(spam-protected):~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.1        10.8.0.29       255.255.255.255 UGH   0      0        0 tun0
10.8.0.29       *               255.255.255.255 UH    0      0        0 tun0
10.1.5.5        10.1.5.3        255.255.255.255 UGH   3      0        0 eth1
10.1.5.2        10.1.5.3        255.255.255.255 UGH   3      0        0 eth1
10.254.1.3      10.1.5.3        255.255.255.255 UGH   2      0        0 eth1
10.1.5.3        *               255.255.255.255 UH    1      0        0 eth1
10.1.5.1        10.1.5.3        255.255.255.255 UGH   2      0        0 eth1
10.7.4.0        *               255.255.255.0   U     0      0        0 vlan4
10.1.5.0        *               255.255.255.0   U     0      0        0 eth1
10.254.1.0      *               255.255.255.0   U     0      0        0 vlan0
10.7.1.0        *               255.255.255.0   U     0      0        0 vlan1
10.7.3.0        *               255.255.255.0   U     0      0        0 vlan3
10.7.2.0        *               255.255.255.0   U     0      0        0 vlan2
default         10.8.0.29       0.0.0.0         UG    0      0        0 tun0
default         10.1.5.3        0.0.0.0         UG    2      0        0 eth1

Whoa! This is completely borked. Can anyone explain this? Routers 1 and 7 are
going via 3, which is totally wrong. The route between 10.254.1.1 and 10.254.1.3
is going via router3, despite a piece of wire directly between them.

The interesting things I pick up from this are that 
  o the 10.254.1.x link has a ETX of 1.00 in one direction, and 22.37 in the other.
  o there is no symmetric link between routers 1 and 7


Here's some olsrd debug output from router 1:

--- 00:31:06.55 ------------------------------------------------- HNA SET

IP net          netmask         GW IP

--- 00:31:06.55 ---------------------------------------------------- LINKS

IP address       hyst   LQ     lost   total  NLQ    ETX
10.1.5.5         0.000  0.900  2      20     0.937  1.19
10.1.5.7         0.000  0.950  1      20     0.200  5.26
10.1.5.3         0.000  1.000  0      20     1.000  1.00
10.254.1.1       0.000  0.950  1      20     0.047  22.37
10.1.5.2         0.000  1.000  0      20     1.000  1.00

--- 00:31:06.55 ------------------------------------------------ NEIGHBORS

IP address       LQ     NLQ    SYM   MPR   MPRS  will
10.1.5.2         1.000  1.000  YES   NO    YES   3
10.1.5.3         1.000  1.000  YES   YES   YES   3
10.1.5.5         0.900  0.937  YES   NO    YES   3
10.1.5.7         0.950  0.200  NO    NO    NO    3

--- 00:31:06.55 ------------------------------------------------- TOPOLOGY

Source IP addr   Dest IP addr     LQ     ILQ    ETX
10.1.5.2         10.1.5.1         1.000  1.000  1.00
10.1.5.2         10.1.5.5         0.718  0.918  1.52
10.1.5.3         10.1.5.1         1.000  1.000  1.00
10.1.5.3         10.1.5.7         0.000  0.976  0.00
10.1.5.5         10.1.5.1         0.949  0.898  1.17
10.1.5.5         10.1.5.2         0.918  0.718  1.52
10.1.5.7         10.1.5.3         1.000  1.000  1.00
ANSN UPDATED 75

Processing TC from 10.1.5.7
Received TC from NON SYM neighbor 10.1.5.7
Alias list for 10.1.5.7: 10.1.5.7 - 10.254.1.1
Processing MID from 10.1.5.7...
Received MID from NON SYM neighbor 10.1.5.7
Processing TC from 10.1.5.3
mpr_selector_list:[10.1.5.7:10.1.5.1:]
Processing TC from 10.1.5.7
mpr_selector_list:[10.1.5.3:]
Alias list for 10.1.5.7: 10.1.5.7 - 10.254.1.1
Processing MID from 10.1.5.7...
MID: update 10.1.5.7

--- 00:31:06.91 ------------------------------------------------- DIJKSTRA

10.1.5.2:1.00 (one-hop)
10.1.5.3:1.00 (one-hop)
10.1.5.5:1.19 (one-hop)
10.1.5.7:7.87 <- 10.1.5.3:1.00 (one-hop)






and some olsrd debug output from router 7: 


--- 00:31:17.25 ------------------------------------------------- HNA SET

IP net          netmask         GW IP
0.0.0.0         0.0.0.0         10.1.5.1

--- 00:31:17.25 ---------------------------------------------------- LINKS

IP address       hyst   LQ     lost   total  NLQ    ETX
10.1.5.1         0.000  1.000  0      20     1.000  1.00
10.254.1.3       0.000  1.000  0      20     1.000  1.00
10.1.5.3         0.000  1.000  0      20     1.000  1.00

--- 00:31:17.25 ------------------------------------------------ NEIGHBORS

IP address       LQ     NLQ    SYM   MPR   MPRS  will
10.1.5.1         1.000  1.000  NO    NO    NO    3
10.1.5.3         1.000  1.000  YES   YES   NO    3

--- 00:31:17.25 ------------------------------------------------- TOPOLOGY

Source IP addr   Dest IP addr     LQ     ILQ    ETX
10.1.5.1         10.1.5.2         1.000  1.000  1.00
10.1.5.1         10.1.5.3         0.976  1.000  1.02
10.1.5.1         10.1.5.5         0.878  1.000  1.14
10.1.5.2         10.1.5.1         1.000  1.000  1.00
10.1.5.2         10.1.5.5         0.737  0.937  1.45
10.1.5.3         10.1.5.1         1.000  0.976  1.02
10.1.5.3         10.1.5.7         1.000  1.000  1.00
10.1.5.5         10.1.5.1         1.000  0.878  1.14
10.1.5.5         10.1.5.2         0.937  0.737  1.45
Processing TC from 10.1.5.5
Received TC from NON SYM neighbor 10.1.5.1
Processing TC from 10.1.5.5
mpr_selector_list:[10.1.5.2:10.1.5.1:]
Processing TC from 10.1.5.3
mpr_selector_list:[10.1.5.7:10.1.5.1:]
Processing TC from 10.1.5.1
Received TC from NON SYM neighbor 10.254.1.3
Alias list for 10.1.5.1: 10.1.5.1 - 10.254.1.3
Processing MID from 10.1.5.1...
Received MID from NON SYM neighbor 10.254.1.3
Received HNA from NON SYM neighbor 10.254.1.3
Received HNA from NON SYM neighbor 10.1.5.1
Processing TC from 10.1.5.2
Received TC from NON SYM neighbor 10.254.1.3
Processing TC from 10.1.5.2
Received TC from NON SYM neighbor 10.1.5.1
Alias list for 10.1.5.1: 10.1.5.1 - 10.254.1.3
Processing MID from 10.1.5.1...
Received MID from NON SYM neighbor 10.1.5.1
Processing TC from 10.1.5.1
Received TC from NON SYM neighbor 10.1.5.1
Processing TC from 10.1.5.2
mpr_selector_list:[10.1.5.5:10.1.5.1:]
Alias list for 10.1.5.1: 10.1.5.1 - 10.254.1.3
Processing MID from 10.1.5.1...
MID: update 10.1.5.1
Processing TC from 10.1.5.1
mpr_selector_list:[10.1.5.5:10.1.5.3:10.1.5.2:]
Processing TC from 10.1.5.5
Received TC from NON SYM neighbor 10.254.1.3
Processing TC from 10.1.5.5
Received TC from NON SYM neighbor 10.1.5.1
Processing TC from 10.1.5.5
mpr_selector_list:[10.1.5.2:10.1.5.1:]
Processing TC from 10.1.5.3
mpr_selector_list:[10.1.5.7:10.1.5.1:]
Processing TC from 10.1.5.1
Received TC from NON SYM neighbor 10.254.1.3
Received HNA from NON SYM neighbor 10.254.1.3
Alias list for 10.1.5.1: 10.1.5.1 - 10.254.1.3
Processing MID from 10.1.5.1...
Received MID from NON SYM neighbor 10.254.1.3
Processing TC from 10.1.5.2
Received TC from NON SYM neighbor 10.1.5.1
Received HNA from NON SYM neighbor 10.1.5.1
Processing TC from 10.1.5.2
Received TC from NON SYM neighbor 10.254.1.3
Processing TC from 10.1.5.2
mpr_selector_list:[10.1.5.1:]

--- 00:31:28.27 ------------------------------------------------- DIJKSTRA

10.1.5.3:1.00 (one-hop)
10.1.5.1:2.02 <- 10.1.5.3:1.00 (one-hop)
10.1.5.2:3.02 <- 10.1.5.1:2.02 <- 10.1.5.3:1.00 (one-hop)
10.1.5.5:3.20 <- 10.1.5.1:2.02 <- 10.1.5.3:1.00 (one-hop)



Phew!

Well, if it will help to post any more debug output, just let me know :-)

Aled.






More information about the Olsr-users mailing list