Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Re: bgpd: rework the interface to rde_generate_updates
To:
tech@openbsd.org
Date:
Mon, 1 Dec 2025 13:49:16 +0100

Download raw body.

Thread
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).

ok tb