[Olsr-users] Insert routes into multiple tables

List Receiver (spam-protected)
Wed Dec 3 17:37:54 CET 2008


> On Wed, 2008-12-03 at 12:23 +0100, Sven-Ola Tuecke wrote:
> [...]
> > seems to be a typical scenario recently: the catch-all-routing
> conficts with
> > some auto-management and/or with unmached/not-though-out
> requirements. He
> > may use the RtTableDefault to get olsrd's default routing entries out
> of the
> > way.
> 
> If that's the solution to the OPs problem, I can well live with it;-)
> 
> Other than that: It's pretty trivial to make the code accept more the
> "RtTable" option more than once and add/change/delete not in one but
> several (different) routing tables.
> But given that one needs working/sane/... `ip rule` settings anyway, I
> can't think of a problem which is solved by simply duplicating
> routingtable $n identically into routingtable $m (because everything
> you
> do with $m can identically be done with $n).
> And even if, then a `ip monitor | ...` script could do that too (and
> probably sees only the actually working operations).
> 
> [ Full-quote deleted ]
> 
> 	Bernd

Let me see if a block diagram can help folks understand what I'm doing.

ISP1-                   -wireless link 1-
     \                 /                 \
      - olsr router ---                   - primary router - network
     /                 \                 /
ISP2-                   -wireless link 2-

Again, I'm using Shorewall on the olsr router to maintain some routing
tables and rules so I can direct traffic from the primary network
over one or the other of the ISP's.  Olsr is used purely between the
olsr router and primary router above.  While it quickly and accurately
detects the link state of the two wireless links, the routing table
updates it makes is in the main table on the olsr router.  I basically
have three routing tables on the olsr router, main, ISP1, and ISP2.
Main gets updated by olsr, but ISP1 and ISP2 are created statically by
Shorewall, and hence don't receive any routing changes if one link
goes down.  I have to restart shorewall, which rebuilds the ISP1 and
ISP2 routing tables statically from the routes in the main table.

Before I had two ISP's in the mix, olsr functioned perfectly in this
environment.  Failover between wireless links was so fluid that it
was sometimes hard to detect any packet loss.  Since adding the 
second ISP, the olsr router doesn't always send packets through the
correct wireless link due to the ISP1 and ISP2 routing tables being
static.  The primary router always sends upstream traffic through the
correct link, but that's because it doesn't have anything other than
the main routing table.

If I could get olsr to maintain identical routes in main, ISP1, and
ISP2's routing table...well, I'd be a happy man.  :^)

As a work-around right now, I have an external monitoring system detect
when a wireless link goes down and it restarts Shorewall when it finds
that case.  I consider that an ugly hack, though, as it's nowhere near
as smooth as I'd like it to be.

So, based on the above, does anyone have a recommendation?




More information about the Olsr-users mailing list