Skip to content

BIRD: Anycast gateway support#3509

Merged
ipspace merged 3 commits into
devfrom
bird-anycast
Jun 21, 2026
Merged

BIRD: Anycast gateway support#3509
ipspace merged 3 commits into
devfrom
bird-anycast

Conversation

@ipspace

@ipspace ipspace commented Jun 21, 2026

Copy link
Copy Markdown
Owner
  • Data-plane configuration is identical to FRR
  • There is no control-plane configuration
  • FRR template was split into DP/CP components to make it reusable for BIRD

Based on work by @jbemmel in #3475

* Data-plane configuration is identical to FRR
* There is no control-plane configuration
* FRR template was split into DP/CP components to make it reusable for
  BIRD

Based on work by @jbemmel in #3475
@ipspace ipspace requested review from Copilot and jbemmel June 21, 2026 11:09
ipspace added a commit that referenced this pull request Jun 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds anycast first-hop gateway (FHRP) support to the BIRD daemon by reusing FRR’s gateway data-plane scripting, and updates the documentation to reflect the new platform capability.

Changes:

  • Advertise gateway/anycast support in the BIRD daemon feature set.
  • Split the FRR gateway script into reusable data-plane + VRRP config components, and add a BIRD gateway script that reuses the data-plane component.
  • Update platform/module docs to show BIRD supports the gateway module (anycast only).

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
netsim/daemons/bird.yml Declares BIRD support for the gateway module using the anycast protocol.
netsim/ansible/templates/gateway/frr.j2 Refactors FRR gateway wrapper to include the new data-plane fragment.
netsim/ansible/templates/gateway/frr.data-plane.j2 New shared data-plane script fragment used by both FRR and BIRD gateway provisioning.
netsim/ansible/templates/gateway/bird.j2 New BIRD gateway script reusing the FRR data-plane logic.
docs/platforms.md Marks BIRD as supporting FHRP (gateway module) in the platform capability matrix.
docs/module/gateway.md Adds BIRD to the gateway module support table (anycast only).

Comment thread netsim/ansible/templates/gateway/bird.j2 Outdated
Comment thread netsim/daemons/bird.yml
…nfig

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@@ -0,0 +1,51 @@
sysctl -w net.ipv6.conf.all.enhanced_dad=0
sysctl -w net.ipv6.conf.default.enhanced_dad=0
{% for intf in interfaces if intf.gateway.protocol|default('none') == 'vrrp' %}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this thing generates content only when VRRP is enabled, don't you think it belongs in vrrp-config.j2?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, I just copied your approach ;) Of course, we can further split the files.

@jbemmel jbemmel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would suggest to move vrrp bits

@ipspace ipspace merged commit 07d0152 into dev Jun 21, 2026
5 checks passed
@ipspace ipspace deleted the bird-anycast branch June 21, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants