Fabian Bläse <[email protected]> writes: > Hi, > > is there any possibility to filter incoming babel routes on a > per-neighbor or per-interface basis? > > As far as I can tell, the babel implementation in bird has its own > route selection algorithm and only sends a single route to the bird > table. This seems to make it impossible to add additional route > filters (for example: adding extra penalty to specific routes received > on a specific babel interface), because with regular filters only the > already pre-selected route in the bird table is changed.
You are right, this is not currently possible. Babeld does have this capability, so maybe adding an equivalent filter type to Bird which can drop or modify updates before they are handed over to babel's route selection logic would be useful. > Also, this makes it impossible to use ECMP with babel. Babel (the protocol) does not support ECMP. This is deliberate - see this message for details: https://mailarchive.ietf.org/arch/msg/babel/i4tqsRIL3DS9e22GJ0QuoMef-P0/ > Would it be possible to send all feasible babel routes to the bird > table? I don't think this would be the right approach; rather, there should be a filtering step before routes are input into the babel route selection, as mentioned above. And possibly adding an output filter so routes can be modified on a per-interface basis would make sense as well? -Toke
