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

Add config options for BGP timers #695

Merged
merged 3 commits into from
Dec 22, 2023

Conversation

marc-cerebras
Copy link
Contributor

In certain scenarios, it's easier to change the BGP timer settings from the kube-vip side rather than configuring the routers' peer-group timer settings for kube-vip. This is desirable if the router defaults are higher than what we'd like to configure on the kube-vip side for the purpose of quickly reacting to a node down or network partition.

This change adds two new env vars for configuring these settings during the start of peering.

I was able to validate on my local deployment, that the switch side was picking up the modified timer settings.

kube-vip manifest yaml envvars
...
    - name: bgp_hold_time
      value: "9"
    - name: bgp_keepalive_interval
      value: "3"
...

Router `show ip bgp neighbors`
...
BGP neighbor is x.x.x.x, remote AS xxxx, internal link
  BGP version 4, remote router ID x.x.x.x, VRF default
  Inherits configuration from and member of peer-group xxx
  Negotiated BGP version 4
  Member of update group 2
  Last read 00:00:01, last write 00:00:01
  Hold time is 9, keepalive interval is 3 seconds

...where the default is 120 40

@thebsdbox
Copy link
Collaborator

Woah, this is excellent! Fantastic and thank you!

@marc-cerebras
Copy link
Contributor Author

Thanks! I have tested as a static pod and that is working. Now testing as a daemonset deploy and the envvar doesn't seem to pick up. Looking into where it's getting lost. Will close and re-open once I find the cause.

@marc-cerebras
Copy link
Contributor Author

Okay figured it out. The base BGP config is overridden by the annotation parsed config. To avoid this, I passed the base BGP config into the annotation parsing function where it will overlay the envvar driven configs.

@marc-cerebras marc-cerebras reopened this Dec 21, 2023
@thebsdbox thebsdbox merged commit dbf3233 into kube-vip:main Dec 22, 2023
9 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.

None yet

2 participants