-
Notifications
You must be signed in to change notification settings - Fork 17
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
SrcAddr
setting is not wired into the API
#132
Comments
probably not, we pretty much copied the internal structs and did the adjustments, there's a chance we missed implementing this😅 I don't remember we had some discussion about not implementing this. ccing @fedepaol maybe he remembers something about this (he should be back in a few days ) Thanks a lot for raising this! |
Thanks!
Just as a point of clarification: MetalLB also allows specifying |
yep we're on the same page 😄 nothing is implemented regarding frr-k8s and source addresses |
I must be honest, I am quite surprised we implemented it in the metallb - frr implementation. Said that, we can cover the src address as it is today with frr and think about making it better. |
I agree, and it is exactly this that I was trying to achieve by specifying a FRRConfiguration per-node with selectors. I'm not sure what an alternative design would look like, though... I guess you could introduce a separate resource type to configure source addresses per-node (or even per network interface?). Or, failing that, perhaps annotate the speaker pods with the source addresses used for each interface? (That information could then be used to set up the peer if sufficiently stable) Just thinking out loud. |
I have the very same concerns :-) Said that, as I wrote above, I think it's sane to wire up the API as it is today, it's out in MetalLB and probably people are using it (even though it's a bit of a surprise to me). |
Hi, there seems to be an internal
SrcAddr
setting to populateupdate-source
for neighbors that is not exposed in the K8S API. Is that intentional?I think my use case would benefit from it. I'm trying to expose some routes to IPv6 load balancers from multiple nodes in my cluster, and to do that I'm peering with an IPv6 router. Now, the interface that is connected to that router has many IPv6 addresses (on all nodes involved), so I need to make sure that the one selected by the kernel matches the one that is used to establish the BGP session from the peer end. This leads me to the following problem:
BGPPeer
resources with the same neighbor address (even with mutually exclusive node selectors) because the API forbids that, so I can only align the source address for at most one node.frrk8s.enabled=true
, I thought I could get away with a singleBGPPeer
for all nodes and override the source address on a per-node basis by introducing extraFRRConfiguration
resources scoped to specific nodes. But since this setting is apparently not exposed in the API, thesourceAddress
feature doesn't work at all in this setup.Is that something that simply hasn't been implemented yet, or is there something fundamental I'm not understanding here?
Since I control all the devices involved, I can probably work around this problem by giving extra IPs to the interface on the peer router's end, allowing me to create one BGPPeer per node in my cluster, but that feels like a hack. Thoughts?
Thank you!
The text was updated successfully, but these errors were encountered: