oxidecomputer / oxidecomputer/maghemite

BGP: Connection Collision Resolution should use ASN as a tie-breaker for eBGP sessions when both peers have the same BGP-ID

Open
#852 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
94
Forks
6
Avg merge
1d 8h
Merged PRs (30d)
12

Description

RFC 6286 Section 2.3 covers the use of the ASN as part of collision resolution when both BGP peers have the same BGP-ID:

[2.3](https://datatracker.ietf.org/doc/html/rfc6286#section-2.3).  Connection Collision Resolution

   For a BGP speaker that supports the AS-wide Unique BGP Identifier,
   the procedures for connection collision resolution are extended as
   follows to deal with the case in which the two BGP speakers share the
   same BGP Identifier (thus, it is only applicable to an external
   peer):

      If the BGP Identifiers of the peers involved in the connection
      collision are identical, then the connection initiated by the BGP
      speaker with the larger AS number is preserved.

   This extension covers cases in which the 4-octet AS numbers are
   involved [[RFC4893](https://datatracker.ietf.org/doc/html/rfc4893)].

We should implement this to ensure correctness in this scenario.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named. Start by reading RFC 6286 section 2.3 and its 4-octet ASN context from RFC 4893, then locate Maghemite’s BGP connection-collision handling. Done means an eBGP collision with identical BGP-IDs preserves the connection initiated by the peer with the larger ASN, with coverage for this scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.