Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Relax the single BGPPeer per neighbor IP constraint #2367

Open
2 tasks done
fedepaol opened this issue Apr 15, 2024 · 2 comments
Open
2 tasks done

Relax the single BGPPeer per neighbor IP constraint #2367

fedepaol opened this issue Apr 15, 2024 · 2 comments

Comments

@fedepaol
Copy link
Member

Is your feature request related to a problem?

The frr implementation of metallb rejects any duplicate BGPPeer (i.e., peers that have the same IP for the same VRF).
Ideally, this uniqueness should be enforced on per node basis. Because it was impossible to detect (and maintain) upfront (and because it was the early stage of the frr implementation), we decided to block any overlapping IPs regardless of the fact that they might influence the behaviour of a distinct set of nodes.

This prevents some useful features, such as using different ASN / SRC address per nodes / set of nodes, or having custom timers per nodes (because a set of nodes could be on a different region with different latencies).

Describe the solution you'd like

What we propose here is to relax the constraint, trying to intercept misconfigurations in a best effort manner (with the webhooks) and blacklisting the neighbor ip (acting as if it was not configured at all) whenever there are multiple bgppeers eligible for the same node (on the same vrf), basically relying on the user to do the right configuration and resulting in a configuration error if this is not the case.

The user feedback should also improve whenever we implement #2156

This should also be extended to frr-k8s.

Additional context

No response

I've read and agree with the following

  • I've checked all open and closed issues and my request is not there.
  • I've checked all open and closed pull requests and my request is not there.
@fedepaol
Copy link
Member Author

cc @oribon

@Zappelphilipp
Copy link

first: thank you very much @fedepaol

is there any update on this? I would like to help in this regard but i think it would take me way longer to implement this than someone of the core team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants