Hi Ondrej, On Mon, Jan 30, 2023 at 03:52:51PM +0100, Ondrej Zajicek wrote:
I was confused before, but is this really a breaking change? As i understand it, both Babel and RIP keep list of received routes, select the best, push the best to main (nest) table, but it must be explicitly exported back to the protocol in order to be announced to neighbors.
As was I it seems. I didn't look at the update_send code that closely and must have just started assuming *selected would be announced somewhere along the way.
There is babel_select_route() -> babel_announce_rte() -> nest table change -> babel_rt_notify() -> babel_trigger_update() cascade, babel_entry.selected is the best route as selected by Babel, but it is babel_entry.seqno/metric/router_id that is filled in babel_rt_notify() and used for sending updates in babel_send_update_().
Right I agree. In that case can you think of any way suddenly seeing more routes can break a filter policy? I don't think filters can keep state across individual routes, right? I just fixed the unreachable route announcement too I'll send and updated series. --Daniel