From 276d97838c6223f4cecdb96d09225d94246a9278 Mon Sep 17 00:00:00 2001 From: karampok Date: Thu, 5 Dec 2024 13:53:04 +0100 Subject: [PATCH] Add zebra -K --graceful_restart argument https://docs.frrouting.org/en/latest/zebra.html#cmdoption-zebra-K With that argument `-K 120`, when zebra stops it does not clean the routes that has install on the host. When zebra starts up with, it will wait 120 seconds before removing (sweeping) any routes that it previously created but are no longer valid. This is needed to complete the BGP graceful restart feature when the local endpoints depend on local routes that are learned from the BGP peer. Downside is that if we simply remove FRR (delete deployment or change speaker label toleration) those routes will remain on the host until reboot. Signed-off-by: karampok --- charts/frr-k8s/templates/controller.yaml | 2 +- config/all-in-one/frr-k8s-prometheus.yaml | 2 +- config/all-in-one/frr-k8s.yaml | 2 +- config/frr-k8s/frr-cm.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/frr-k8s/templates/controller.yaml b/charts/frr-k8s/templates/controller.yaml index 1dedcf2e..96f44c85 100644 --- a/charts/frr-k8s/templates/controller.yaml +++ b/charts/frr-k8s/templates/controller.yaml @@ -49,7 +49,7 @@ data: # Check /etc/pam.d/frr if you intend to use "vtysh"! # vtysh_enable=yes - zebra_options=" -A 127.0.0.1 -s 90000000" + zebra_options=" -A 127.0.0.1 -K 120 -s 90000000" bgpd_options=" -A 127.0.0.1 {{ if not .Values.frrk8s.frr.acceptIncomingBGPConnections }} -p 0 {{- end }}" ospfd_options=" -A 127.0.0.1" ospf6d_options=" -A ::1" diff --git a/config/all-in-one/frr-k8s-prometheus.yaml b/config/all-in-one/frr-k8s-prometheus.yaml index 0216b3b8..be853022 100644 --- a/config/all-in-one/frr-k8s-prometheus.yaml +++ b/config/all-in-one/frr-k8s-prometheus.yaml @@ -835,7 +835,7 @@ data: # Check /etc/pam.d/frr if you intend to use "vtysh"! # vtysh_enable=yes - zebra_options=" -A 127.0.0.1 -s 90000000" + zebra_options=" -A 127.0.0.1 -K 120 -s 90000000" bgpd_options=" -A 127.0.0.1 -p 0" ospfd_options=" -A 127.0.0.1" ospf6d_options=" -A ::1" diff --git a/config/all-in-one/frr-k8s.yaml b/config/all-in-one/frr-k8s.yaml index a8ee5552..5fa45cb8 100644 --- a/config/all-in-one/frr-k8s.yaml +++ b/config/all-in-one/frr-k8s.yaml @@ -804,7 +804,7 @@ data: # Check /etc/pam.d/frr if you intend to use "vtysh"! # vtysh_enable=yes - zebra_options=" -A 127.0.0.1 -s 90000000" + zebra_options=" -A 127.0.0.1 -K 120 -s 90000000" bgpd_options=" -A 127.0.0.1 -p 0" ospfd_options=" -A 127.0.0.1" ospf6d_options=" -A ::1" diff --git a/config/frr-k8s/frr-cm.yaml b/config/frr-k8s/frr-cm.yaml index 5cf57aa9..ef176f72 100644 --- a/config/frr-k8s/frr-cm.yaml +++ b/config/frr-k8s/frr-cm.yaml @@ -45,7 +45,7 @@ data: # Check /etc/pam.d/frr if you intend to use "vtysh"! # vtysh_enable=yes - zebra_options=" -A 127.0.0.1 -s 90000000" + zebra_options=" -A 127.0.0.1 -K 120 -s 90000000" bgpd_options=" -A 127.0.0.1 -p 0" ospfd_options=" -A 127.0.0.1" ospf6d_options=" -A ::1"