[Babel-users] removal of old/stale routes from babel

Juliusz Chroboczek jch at irif.fr
Thu Feb 8 01:13:33 UTC 2018


> I am using babel 1.8 in an experimental Freifunk network

Cool.

> It seems that routes are accumulating in this network. At the moment there
> are well over 600 routes being distributed by babeld (echo dump |nc ::1
> babelport reveals 617 lines).

> I am probably missing something essential here.

You're probably just seeing fallback routes.  (We'd need to see your dump
to be sure.)

Babel keeps a redundant routing table -- it keeps routes to every
destination through every single neighbour.  This way, it can switch to
a different route immediately when it detects that its current next-hop is
down.

If you have 10 neighbours and there are 60 routes in the network, you'll
see 600 routes in your routing table.  Don't worry, though -- a fallback
route is just a 60-byte data structure, so 600 routes take less than 40kB
of memory.  (Fallback routes are not visible to the kernel, and are not
announced over the network.)

You can distinguish between redundant routes and the routes actually used
by the "installed" flag -- a route that is marked as "installed" is
currently used for traffic, a route that is marked as "feasible" is
a fallback route that can be used straight away if necessary, a route that
is not marked is an "unfeasible" route, one that cannot be used without
doing a quick packet exchange to make sure that it is loop-free.

My advice would be:

  - don't panic, in large, friendly letters;
  - only start worrying if babeld starts having a large RSS or uses more
    than a fraction of CPU;
  - use BabelWeb in order to better understand better what's going on in
    your network:

    https://github.com/Vivena/babelweb2

Please don't hesitate to send me a route dump (through the list or, if
you're concerned about your users' privacy, by private mail), I'd be
curious to see what's going on.

Thanks for the input,

-- Juliusz



More information about the Babel-users mailing list