Good morning,

I just wanted to make sure you received the v2 of the patch correctly.
I just realized that maybe something went wrong when I sent the email since it included changes on two different repositories and I sent it as a response to the same thread as the original PR.
In that case, I will promptly resend the updated version with any changes needed.
I also understand that you are very busy with the new releases, so do not worry if you need more time for the review.

Best Regards,
Matteo

On Thu, 11 Dec 2025 at 10:16, Matteo Perin <matteo.perin@canonical.com> wrote:
The v2 of the patch changes the following:

- The peer route type now contains information on the interface on which the peer was discovered.

- The change above allowed to remove the need to configure the "from" option on the BGP peers channel, so it was removed.

- pxlen of net_add_peer has been set to 0, since the field is unused.

- RAdv neighbor discovery option has been renamed to router discovery.

- The peers channel in BGP has been made a regular channel (instead of a bgp_channel).

- The new BGP channel persist option has been made a protocol-wide option and it now also dictates the behavior of spawed dynamic BGP sessions.

- Documentation on changes on both RAdv and BGP has been added.

- Added testcase for the bird-tools testing suite.

Thank you Ondrej for the review, your insights (especially the advice on changing the channel type) allowed me to refactor how the implementation works a bit and make it tidier (I think).
My response was delayed by a few day so I could also provide some added documentation work and finish implementing automated testing for the bird-tools project.

Let me know if you have any other suggestion on changes needed.

Best Regards,
Matteo

Matteo Perin (4):
  Nest: Add net_peer route type to track discovered peers
  RAdv: Add neighbor discovery based on incoming RAs to RAdv proto
  BGP: Move postponed socket reloop logic from start to start_locked to
    achieve locking requirements
  BGP: Add peers channel and sessions spawn on export to achieve
    automatic peering

 doc/bird.sgml        |  65 +++++++++++++
 lib/net.c            |  16 ++++
 lib/net.h            |  32 ++++++-
 nest/config.Y        |   3 +-
 nest/proto.c         |   2 +-
 nest/protocol.h      |   3 +
 proto/bgp/attrs.c    |  51 ++++++++++
 proto/bgp/bgp.c      | 216 +++++++++++++++++++++++++++++++++++++++----
 proto/bgp/bgp.h      |  27 +++++-
 proto/bgp/config.Y   |  12 ++-
 proto/bgp/packets.c  |  11 +++
 proto/radv/config.Y  |   3 +-
 proto/radv/packets.c |  41 +++++++-
 proto/radv/radv.c    | 165 ++++++++++++++++++++++++++++++++-
 proto/radv/radv.h    |   4 +
 15 files changed, 622 insertions(+), 29 deletions(-)

--
2.43.0