jech / babeld

The Babel routing daemon
http://www.irif.fr/~jch/software/babel/
MIT License
385 stars 92 forks source link

feature request: add prio parameter for filtering rules #74

Open adschm opened 3 years ago

adschm commented 3 years ago

So far, filtering rules are evaluated based on their order in the configuration (or uci config for OpenWrt).

This is rather inconvenient when using scripts to alter these configurations (particularly for uci config in OpenWrt), as it may be hard to control the position of a specific entry without rewriting everything again in the new order. A common case is when one wants to add redistribute filters for local routes before the "redistribute local deny" filter that needs to be last.

Since the config is only evaluated "at start" and not updated dynamically, it should be simple enough to provide an ordering of the filtering rules by a prio parameter when reading them (of course, with a default prio where the order will be used again as default).

This would be a great help.

jech commented 2 years ago

Agreed, that's a good idea. And it would not be too difficult to use the priority even if rules are added at runtime.

DanielG commented 1 year ago

@adschm Have you considered using the -c file option to include multiple config files before/after the main one? I do that in my setup to make the config a little more composable.

One thing that we'd have to patch to make that really workable is the ability to ignore missing config files though.

jech commented 1 year ago

One thing that we'd have to patch to make that really workable is the ability to ignore missing config files though.

fn="/dev/null"
[-f "$filename" ] && fn="$filename"
babeld -c "$fn"