Skip to content

Comments

DZD Metadata: controller - render ibgp/msdp peers#1035

Merged
nikw9944 merged 18 commits intomainfrom
feature/controller-render-ibgp-peers
Aug 7, 2025
Merged

DZD Metadata: controller - render ibgp/msdp peers#1035
nikw9944 merged 18 commits intomainfrom
feature/controller-render-ibgp-peers

Conversation

@nikw9944
Copy link
Contributor

@nikw9944 nikw9944 commented Aug 3, 2025

Not ready to merge until:
TODO 1: [DONE] Wait for #913 to be merged so the activator can assign interface IPs.
TODO 2: [DONE] Unit test demonstrating peer removal
TODO 3: [POSTPONED] e2e test demonstrating peer removal
TODO 4: [DONE] update ipv4/vpnv4 sub-sections of "router bgp" section
TODO 5: [DONE] add msdp and ipv4-only bgp peers

Summary of Changes

  • Update controller to add vpnv4 ibgp peers
  • Avoids an operational nightmare for mainnet-beta since bgp peers must be added to all devices every time a device is added to the network.

Testing Verification

  • Updated unit tests and e2e

@nikw9944 nikw9944 force-pushed the feature/controller-render-ibgp-peers branch from 7bd2dca to f2b5422 Compare August 4, 2025 14:33
@nikw9944 nikw9944 changed the title DZD Metadata: controller - render ibgp peers DZD Metadata: controller - render ibgp/msdp peers Aug 4, 2025
@nikw9944 nikw9944 force-pushed the feature/controller-render-ibgp-peers branch from f2b5422 to b6d8a9d Compare August 4, 2025 22:16
@nikw9944 nikw9944 force-pushed the feature/controller-render-ibgp-peers branch 2 times, most recently from de087a4 to b21f458 Compare August 6, 2025 14:17
@nikw9944 nikw9944 marked this pull request as ready for review August 6, 2025 14:28
@nikw9944 nikw9944 requested review from elitegreg and packethog August 6, 2025 14:28
@nikw9944 nikw9944 linked an issue Aug 6, 2025 that may be closed by this pull request
@nikw9944 nikw9944 requested a review from ben-malbeclabs August 6, 2025 14:36
@nikw9944 nikw9944 force-pushed the feature/controller-render-ibgp-peers branch from f1f2c54 to c4d0d88 Compare August 6, 2025 21:17
@nikw9944 nikw9944 requested a review from Copilot August 6, 2025 21:49
Copy link
Contributor

Copilot AI left a comment

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 updates the controller to automatically render iBGP and MSDP peers for VPNv4 and IPv4 address families, eliminating the operational nightmare of manually adding BGP peers to all devices every time a new device is added to the network.

Key changes include:

  • Addition of VPNv4 and IPv4 iBGP peer configuration based on loopback interfaces
  • Automatic MSDP peer configuration for multicast distribution
  • Enhanced peer removal logic to only remove DZ-managed peer addresses
  • Addition of required loopback interfaces to test fixtures

Reviewed Changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
controlplane/controller/internal/controller/server.go Core logic for building BGP peer lists from device loopback interfaces and filtering peer removal
controlplane/controller/internal/controller/templates/tunnel.tmpl Template updates to render iBGP peers, address families, and MSDP configuration
controlplane/controller/internal/controller/models.go Added BgpPeer struct and device interface tracking fields
e2e test files Updated to create required Loopback255/256 interfaces for VPNv4/IPv4 peers
e2e fixtures Updated expected configurations to include new iBGP and MSDP peer sections

Copy link
Contributor

@ben-malbeclabs ben-malbeclabs left a comment

Choose a reason for hiding this comment

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

LGTM

@nikw9944 nikw9944 requested a review from packethog August 7, 2025 15:23
@nikw9944 nikw9944 merged commit 5a29e04 into main Aug 7, 2025
15 checks passed
@nikw9944 nikw9944 deleted the feature/controller-render-ibgp-peers branch August 7, 2025 15:45
snormore added a commit that referenced this pull request Aug 7, 2025
## Summary of Changes
- Update e2e telemetry test to wait for UDP/TWAMP rule to be applied by
the controller-given config
- Update e2e device startup config to unmerge the MGTM and main control
plane ACL so prometheus metrics rule doesn't get overwritten when
controller config is applied
- Update e2e device startup config to not include the UDP/TWAMP rule and
rely on the rule to be given by the controller
- Follow-up on #1035

## Testing Verification
- Updated device telemetry e2e test to wait for controller config to be
applied via TWAMP probes between devices
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.

DZD Metadata: controller - render IBGP/MSDP peers

4 participants