oxidecomputer / oxidecomputer/maghemite

bgp: dynamic capabilities

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

Nobody has claimed this yet.

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

Description

An implementation of BGP Dynamic Capabilities would enable the re-negotiation of BGP Capabilities without requiring the session to be reset.

This is especially useful when enabling/disabling address-families (e.g. IPv6 Unicast) without causing service disruption for existing IPv4 -- assuming our peers also support this capability.

FRR has implemented this draft but I'm not sure how widely deployed this is by other vendors.
GR is another mechanism that aims to allow these kind of changes to be similarly hitless (and is more widely deployed), but IMO is more complex.

Despite the above points, I still think this would be useful to have in the maghemite BGP implementation but I would say this is not a high priority request.

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

Start by reading the linked BGP Dynamic Capabilities draft and compare its requirements with maghemite's existing BGP implementation; the issue does not identify specific files or tests. Define the capability negotiation and address-family change behavior, then verify that supported changes occur without resetting existing sessions.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.