[Babel-users] Routing loop with import/export-table in babeld

Daniel Gröber dxld at darkboxed.org
Wed Jan 11 02:41:23 GMT 2023


Hi babeleers,

I managed to produce a routing loop in my babeld deployment with multiple
routing tables. Best I can figure the problem is that babeld doesn't copy
routes picked up from an import-table when it's different from
export-table.

babeld is running with a config like this:

    export-table 66 #< 66=babeld table
    import-table 66
    import-table 254 #< 254=main table

    redistribute eq 48 allow

It's is receiving a default route from a neighbour and installing it into
the babeld table. In addition babeld picks up a directly attached /48
prefix from the main table and announces it to its neighbour which installs
it in the usual way into its (main) table.

Since babeld doesn't copy the directly attached /48 prefix route into the
babeld table traffic towards it will be covered by the default route which
sends it to the neighbour, which will send it straight back to us because
it got the /48 prefix route from us.

Should we simply copy device routes into the export-table when there is an
import-table!=export-table? Or am I just doing something stupid?

FYI: The point of this setup is to use this node as a pure relay for my
network but still have internet connectivity via the main table. Traffic in
my network is pushed into the babeld table with ip-rule. In my case I could
just filter away the directly attached prefix and be done with it but I
think this might still be a valid use case.

Thanks,
--Daniel



More information about the Babel-users mailing list