[PATCH v2 0/4] BGP unnumbered automatic peering based on IPv6 ND

Matteo Perin matteo.perin at canonical.com
Thu Dec 11 10:16:35 CET 2025


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



More information about the Bird-users mailing list