Bird: add bgp/evpn support with vxlan and anycast gateway#3475
Open
jbemmel wants to merge 18 commits into
Open
Bird: add bgp/evpn support with vxlan and anycast gateway#3475jbemmel wants to merge 18 commits into
jbemmel wants to merge 18 commits into
Conversation
Enable EVPN and VXLAN on the bird daemon, split L2 eth tables into a vxlan module config, and fold VXLAN interface setup into the vlan startup script. Co-authored-by: Cursor <cursoragent@cursor.com>
Run netlab config scripts before BIRD starts, make VXLAN setup idempotent, and activate EVPN on the existing BGP session instead of a duplicate peer. Co-authored-by: Cursor <cursoragent@cursor.com>
Enable gateway recursive and next-hop keep on EBGP EVPN channels for route reflectors, and export OSPF routes into BGP so PE devices can resolve remote VTEP addresses. Co-authored-by: Cursor <cursoragent@cursor.com>
Generate the EVPN/VXLAN startup script in Dockerfile.v2_from_src.j2 so clab build no longer needs supplemental files, and restore simple CMD startup for package-based bird and bird.v3 images. Co-authored-by: Cursor <cursoragent@cursor.com>
Containerlab connects routing protocols over lab interfaces, so Docker port publishing is not used for BGP, OSPF, or BFD. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep VXLAN kernel setup with the vxlan module template and nest EVPN eth-table generation under a single vxlan guard. Co-authored-by: Cursor <cursoragent@cursor.com>
Use vxlan.j2 for kernel interface setup and vxlan@config.j2 for EVPN eth-table generation, matching the vlan.j2 versus bgp@session pattern. Co-authored-by: Cursor <cursoragent@cursor.com>
Use vxlan@mod in bird.yml to match bgp.mod.conf naming while keeping Box-safe daemon_config keys. Co-authored-by: Cursor <cursoragent@cursor.com>
Wait for netlab initial to finish before starting BIRD, create VXLAN interfaces after VLAN bridges are ready, and keep an upstream EVPN patch on file without applying it in the Docker build. Co-authored-by: Cursor <cursoragent@cursor.com>
Include the session type in each BGP protocol instance name so EVPN IBGP and link EBGP sessions to the same neighbor no longer collide. Co-authored-by: Cursor <cursoragent@cursor.com>
Set the SVI bridge MAC when the bridge is created, not on every script run. Co-authored-by: Cursor <cursoragent@cursor.com>
Drop EVPN interface polling, config pre-checks, and verbose startup logging; start BIRD once the netlab-config-done marker appears. Co-authored-by: Cursor <cursoragent@cursor.com>
Docker creates /etc/config on file bind mounts and /var/run already exists in the base image. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove the single-use config_done_marker helper. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove evpn-bridge-master.patch from the branch and gitignore the patches directory so it can stay local only. Co-authored-by: Cursor <cursoragent@cursor.com>
Use existing deploy success/failure state instead of a separate ran_executable flag. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep patch directory handling out of the branch; local ignores can stay uncommitted. Co-authored-by: Cursor <cursoragent@cursor.com>
Collaborator
Author
|
Could add a version check that aborts when the image isn't 2.19.0 or newer |
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This depends on #3470 for the new 2.19.1 release
Couple of highlights:
device-module-test: 4 new cases OK
Most failures are due to missing vrf support; 10 fails because I don't have cEOS locally