[PATCH v3] Babel: Replace internal route selection by bird's nest

2023-01-30 Thread Daniel Gröber
This allows for filtering routes from specific interfaces and neighbours. With the current internal route selection proto babel exports only up to one route and an admin cannot do fine-grained filtering. To fix this we rip out the internal route selection entirely and put them all into the bird's

Re: [PATCH] babel: Fix missing modulo comparison of seqnos

2023-01-30 Thread Juliusz Chroboczek
> Introduce a strict-inequality version of the modulo-comparison for this > purpose. Thanks. I'm a little worried about the code around line 1017: struct babel_source *s = babel_get_source(p, e, e->router_id); s->expires = current_time() + BABEL_GARBAGE_INTERVAL; if

Re: [PATCH] babel: Fix missing modulo comparison of seqnos

2023-01-30 Thread Toke Høiland-Jørgensen via Bird-users
Ondrej Zajicek writes: > On Mon, Jan 30, 2023 at 11:15:52PM +0100, Toke Høiland-Jørgensen via > Bird-users wrote: >> Juliusz noticed there were a couple of places we were doing straight >> inequality comparisons of seqnos in Babel. This is wrong because seqnos can >> wrap: so we need to use the

Re: [Babel-users] Babel: Possible segfault in bird unfeasible update handling code

2023-01-30 Thread Ondrej Zajicek
On Mon, Jan 30, 2023 at 11:10:28PM +0100, Toke Høiland-Jørgensen via Bird-users wrote: > Juliusz Chroboczek writes: > > >> The problematic bit is, I think, 's' in babel_handle_update can be NULL > >> because nothing ensures the babel_source for a particular neighbour > >> actually exists here:

Re: [PATCH] babel: Fix missing modulo comparison of seqnos

2023-01-30 Thread Ondrej Zajicek
On Mon, Jan 30, 2023 at 11:15:52PM +0100, Toke Høiland-Jørgensen via Bird-users wrote: > Juliusz noticed there were a couple of places we were doing straight > inequality comparisons of seqnos in Babel. This is wrong because seqnos can > wrap: so we need to use the modulo-64k comparison function

Re: [PATCH] Babel: Remove unecessary FIB_ITERATE restart

2023-01-30 Thread Toke Høiland-Jørgensen via Bird-users
d...@darkboxed.org writes: > Hi Toke, > > On Mon, Jan 30, 2023 at 10:50:14PM +0100, Toke Høiland-Jørgensen wrote: >> Daniel Gröber writes: >> >> > The route expiration code appears to have been stolen from rip.c, in that >> > code the rt_notify function actually does modify the rtable fib by

[PATCH] babel: Fix missing modulo comparison of seqnos

2023-01-30 Thread Toke Høiland-Jørgensen via Bird-users
Juliusz noticed there were a couple of places we were doing straight inequality comparisons of seqnos in Babel. This is wrong because seqnos can wrap: so we need to use the modulo-64k comparison function for these cases as well. Introduce a strict-inequality version of the modulo-comparison for

Re: [Babel-users] Babel: Possible segfault in bird unfeasible update handling code

2023-01-30 Thread Toke Høiland-Jørgensen via Bird-users
Juliusz Chroboczek writes: >> The problematic bit is, I think, 's' in babel_handle_update can be NULL >> because nothing ensures the babel_source for a particular neighbour >> actually exists here: > > s will be passed to babel_is_feasible, which returns true if s is null. > Later on, s is only

Re: [PATCH] Babel: Remove unecessary FIB_ITERATE restart

2023-01-30 Thread dxld
Hi Toke, On Mon, Jan 30, 2023 at 10:50:14PM +0100, Toke Høiland-Jørgensen wrote: > Daniel Gröber writes: > > > The route expiration code appears to have been stolen from rip.c, in that > > code the rt_notify function actually does modify the rtable fib by calling > > fib_get. The babel code

Re: [PATCH] Babel: Remove unecessary FIB_ITERATE restart

2023-01-30 Thread Toke Høiland-Jørgensen via Bird-users
Daniel Gröber writes: > The route expiration code appears to have been stolen from rip.c, in that > code the rt_notify function actually does modify the rtable fib by calling > fib_get. The babel code however does no such thing, so this inefficient > restart is just entirely uneccesarry. Erm,

[PATCH v2 2/2] [RFC] Babel: Replace internal route selection by bird's nest

2023-01-30 Thread Daniel Gröber
This allows for filtering routes from specific interfaces and neighbours. With the current internal route selection proto babel exports only up to one route and an admin cannot do fine-grained filtering. To fix this we rip out the internal route selection entirely and put them all into the bird's

[PATCH v2 1/2] Babel: Remove unecessary FIB_ITERATE restart

2023-01-30 Thread Daniel Gröber
The route expiration code appears to have been stolen from rip.c, in that code the rt_notify function actually does modify the rtable fib by calling fib_get. The babel code however does no such thing, so this inefficient restart is just entirely uneccesarry. To prove this is true I add a bunch of

Re: [PATCH] [RFC] Babel: Replace internal route selection by bird nest

2023-01-30 Thread dxld
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 >

Re: BGP Route Aggregation - latest status ???

2023-01-30 Thread Alexander Zubkov via Bird-users
Hi, With current bird's abilities you can try something like this (with correct IPs of course): protocol static aggr1 { ipv4 { table master4; } route 103.1035.59.0/24 recursive 103.1035.59.0; route 103.1035.59.0/24 recursive 103.1035.59.1; ... route 103.1035.59.0/24 recursive

Re: aggregate routes in bird

2023-01-30 Thread Maria Matejka via Bird-users
Hello! I wanted to ask if there is a possibility to aggregate routes in bird? Not yet. In progress, planned for 2023/Q2. Maria smime.p7s Description: S/MIME Cryptographic Signature

aggregate routes in bird

2023-01-30 Thread Marek Küthe
Hello, I wanted to ask if there is a possibility to aggregate routes in bird? Greetings -- Marek Küthe m...@mk16.de er/ihm he/him pgpCB3O6NnAPr.pgp Description: OpenPGP digital signature

Re: [PATCH] [RFC] Babel: Replace internal route selection by bird nest

2023-01-30 Thread Ondrej Zajicek
On Mon, Jan 30, 2023 at 04:44:27AM +0100, Ondrej Zajicek wrote: > > Note that this does very much represent a breaking change as now export > > filters have to explicitly re-export babel routes which was implicit > > before, using say `source = RTS_BABEL`. > > > > It's unclear to me if we should