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

BGP should work correctly on machines with multiple interfaces #182

Closed
danderson opened this Issue Mar 4, 2018 · 0 comments

Comments

@danderson
Copy link
Member

danderson commented Mar 4, 2018

The BGP speaker currently uses the Kubernetes node IP as the next-hop for all traffic. This works fine on clusters with single interfaces/IPs, but falls apart in clusters where machines have several NICs and IPs.

A more flexible solution would be to use the BGP session's source IP as the nexthop, and stop getting IPs via the k8s Downward API. That way, the kernel's source IP selection will help us make the correct choice in all cases.

@danderson danderson self-assigned this Mar 4, 2018

@danderson danderson added this to To Do in BGP mode via automation Mar 4, 2018

@danderson danderson added this to To do in Work better with multiple interfaces via automation Mar 4, 2018

@danderson danderson added this to the v0.5.0 milestone Mar 4, 2018

danderson added a commit that referenced this issue Mar 5, 2018

Derive router ID from the BGP session's TCP connection. #182
The config can still override the router ID, but if none is specified,
it defaults to whatever the source IP on the BGP session connection is.

danderson added a commit that referenced this issue Mar 5, 2018

Use the BGP session's source IP as the next-hop for advertisements. #182


This makes it possible to have different BGP sessions going over different
interfaces, and have them all attract traffic to a nexthop that should
make sense to the peer router.

@danderson danderson closed this in d607841 Mar 5, 2018

BGP mode automation moved this from To Do to Done Mar 5, 2018

Work better with multiple interfaces automation moved this from To do to Done Mar 5, 2018

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