[Babel-users] not routing

Michael Grant mgrant at grant.org
Thu Nov 5 09:41:30 UTC 2009


On Thu, Nov 5, 2009 at 01:15, Juliusz Chroboczek
<Juliusz.Chroboczek at pps.jussieu.fr> wrote:
>> I more or less have it working.  If I unplug either of the links to
>> the adsl lines, after a couple minutes babel moves the routing around
>> so that it works again.
>
> Note that the slowness here is due to babel-pinger (which is really just
> a hack) rather than to Babel itself.  In the absence of packet loss,
> Babel itself will update the route in 100ms per hop.

I agree, and I know it's a hack but I don't see any other way in this situation.

>> However, what I don't have working is being able to favor the faster
>> link.
>
> Please log into a node that you feel has selected the wrong route, and
> do
>
>  kill -USR1 $(cat /var/run/babel.pid)

on the router with the slow adsl line (the link I do not want to favor):

My id 02:1d:73:ff:fe:de:ae:2c seqno 64935
Neighbour fe80::21d:73ff:fede:1fa dev eth0.1 reach ffff rxcost 96 txcost 96.
0.0.0.0/0 metric 128 (exported)
0.0.0.0/0 metric 224 refmetric 128 id 02:1d:73:ff:fe:de:01:fa seqno 15272 age 2
 via eth0.1 neigh fe80::21d:73ff:fede:1fa nexthop 10.38.8.1 (feasible)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.38.8.0       *               255.255.255.0   U     0      0        0 eth0.1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0.2
10.10.0.0       *               255.255.0.0     U     0      0        0 br-lan
default         192.168.1.1     0.0.0.0         UG    0      0
0 eth0.2    <--- not good!
default         *               0.0.0.0         U     65534  0        0 lo

when the slow adsl line is down (unplugged), babel replaces the
192.168.1.1 route with:
default         10.38.8.1       0.0.0.0         UG    50     0        0 eth0.1
which is good, this is a route via the fast line.  However, when
eth0.2 is plugged back in, it goes back to the slow line.


on the router with the fast adsl line:

My id 02:1d:73:ff:fe:de:01:fa seqno 15272
Neighbour fe80::21d:73ff:fede:ae2c dev eth0.1 reach ffff rxcost 96 txcost 96.
0.0.0.0/0 metric 128 (exported)
0.0.0.0/0 metric 224 refmetric 128 id 02:1d:73:ff:fe:de:ae:2c seqno
64935 age 40 via eth0.1 neigh fe80::21d:73ff:fede:ae2c nexthop
10.38.8.4 (feasible)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
81.56.253.0     *               255.255.255.0   U     0      0        0 eth0.2
10.38.8.0       *               255.255.255.0   U     0      0        0 eth0.1
10.11.0.0       *               255.255.255.0   U     0      0        0 br-lan
default         lns-bzn-47f-81- 0.0.0.0         UG    0      0        0 eth0.2
default         *               0.0.0.0         U     65534  0        0 lo

> This will dump Babel's internal tables into the log file; please send
> the result to this list.  (Not the whole log, just the dump starting
> with ``My id ... seqno ...''.)
>
>> Furthermore, when babel has a working default route, I can't even
>> manually put in a better one.
>
> Check the ``-k'' option to babeld (lower values are higher priorities).

I am running -k 50 on the instance of babel on the router with slow link.

I think part of the problem here is that babel is not responsible for
the default route out the adsl line (route to 192.168.1.1), this route
is managed by the interface coming up.  Babel does not seem to want to
create a (better) default route (and remove the interface's default
route) if there is already a default route.

Michael



More information about the Babel-users mailing list