Skip to content

fix(gobgp): advertise L2VPN/EVPN capability instead of IPv4/IPv6 Unicast#119

Merged
privateip merged 1 commit into
mainfrom
fix/gobgp-l2vpn-evpn-capabilities
Jun 17, 2026
Merged

fix(gobgp): advertise L2VPN/EVPN capability instead of IPv4/IPv6 Unicast#119
privateip merged 1 commit into
mainfrom
fix/gobgp-l2vpn-evpn-capabilities

Conversation

@privateip

Copy link
Copy Markdown
Contributor

Summary

  • Corrects the Capabilities RPC to advertise L2VPN/EVPN (AFI=25, SAFI=70) as the sole address family, replacing the incorrect IPv4/Unicast and IPv6/Unicast entries
  • Extracts afiL2VPN and safiEVPN constants to satisfy goconst lint rules
  • Adds internal/gobgp/provider_test.go with 8 tests defending the capabilities contract and familyFromSpec mappings
  • Updates ARCHITECTURE.md to reflect EVPN throughout (overview, component table, key design decisions)
  • Guards the apt-get block in scripts/ci.sh behind command -v apt-get so the e2e suite runs on non-Ubuntu hosts (e.g. Fedora)

Test plan

  • task ci passes (lint, build, unit tests, e2e)
  • TestCapabilities_AddressFamily asserts AFI=L2VPN, SAFI=EVPN
  • TestCapabilities_NoUnicast asserts no Unicast AF is advertised
  • TestCapabilities_DoesNotRequireLiveBGP asserts Capabilities works without a running GoBGP instance
  • TestFamilyFromSpec_L2VPN_EVPN asserts the string mapping resolves to the correct GoBGP API constants

🤖 Generated with Claude Code

@privateip privateip requested a review from a team as a code owner June 17, 2026 15:04
scotwells
scotwells previously approved these changes Jun 17, 2026

@scotwells scotwells 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.

Got some merge conflicts, but changes look good.

Resolve merge conflicts introduced by the internal/plumbing/ refactor
that landed on main while this branch was in flight:

- ARCHITECTURE.md: drop the removed internal/cni/bgp/ entry from the
  repo layout tree and component table; adopt the internal/plumbing/*
  entries from main
- scripts/ci.sh: adopt main's GITHUB_ACTIONS guard for the apt-get
  block; keep modprobe vrf outside the conditional so it runs locally

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@privateip privateip force-pushed the fix/gobgp-l2vpn-evpn-capabilities branch from eb2669c to 71e9d3f Compare June 17, 2026 15:13
@privateip privateip requested a review from scotwells June 17, 2026 15:16
@privateip privateip merged commit b108f01 into main Jun 17, 2026
5 checks passed
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.

2 participants