Index | Thread | Search

From:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Subject:
Re: bgpd: rework the interface to rde_generate_updates
To:
Theo Buehler <tb@theobuehler.org>
Cc:
tech@openbsd.org
Date:
Mon, 1 Dec 2025 13:57:36 +0100

Download raw body.

Thread
On Mon, Dec 01, 2025 at 01:49:16PM +0100, Theo Buehler wrote:
> On Mon, Dec 01, 2025 at 11:26:54AM +0100, Claudio Jeker wrote:
> > Rework the interface to rde_generate_updates() and up_genrate_XYZ()
> > to pass the old prefix as just the path_id_tx identifier.
> > 
> > Only up_generate_addpath_all() actually uses this information and there
> > this is enough to find the affected prefix in the adj-rib-out.
> > Also adjust the order of operation in up_generate_addpath_all() so the
> > prefix is not first removed and readded for the case where a prefix
> > is simply updated.
> > 
> > Rework the code in prefix_evaluate_nexthop() to be much more like
> > prefix_evaluate(), it should be possible to factor out common code at
> > some point.
> > 
> > In peer_add() ensure that path_id_tx can't be 0. Since 0 has now a special
> > meaning.
> > 
> > This is done so we can introduce a queue around rde_generate_updates() and
> > break up the big pipeline of input processing incl. decision process and
> > output processing.
> 
> This all makes sense and reads perfectly fine. (I find pathid vs path_id
> in old_pathid_tx vs old->path_id_tx slightly strange, but shrug).

Sorry for that. I dislike to have too many _ in names. Should probably
clean up the pathid/path_id names at some point.
 
-- 
:wq Claudio