diff --git a/dockers/docker-fpm-frr/frr/bgpd/bgpd.main.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/bgpd.main.conf.j2 index db11d662a3a..d7bed8a8cd1 100644 --- a/dockers/docker-fpm-frr/frr/bgpd/bgpd.main.conf.j2 +++ b/dockers/docker-fpm-frr/frr/bgpd/bgpd.main.conf.j2 @@ -65,6 +65,10 @@ route-map HIDE_INTERNAL permit 20 ! {% endif %} ! +{% if constants.bgp.update_delay is defined %} +bgp update-delay {{ constants.bgp.update_delay }} +{% endif %} +! {% if (DEVICE_METADATA is defined) and ('localhost' in DEVICE_METADATA) and ('bgp_asn' in DEVICE_METADATA['localhost']) and (DEVICE_METADATA['localhost']['bgp_asn'].lower() != 'none') and (DEVICE_METADATA['localhost']['bgp_asn'].lower() != 'null') %} router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }} ! diff --git a/files/image_config/constants/constants.yml b/files/image_config/constants/constants.yml index 781055ba49b..fdddaf846af 100644 --- a/files/image_config/constants/constants.yml +++ b/files/image_config/constants/constants.yml @@ -24,6 +24,7 @@ constants: enabled: true ipv4: 514 ipv6: 514 + update_delay: 20 allow_list: enabled: true default_action: "permit" # or "deny" diff --git a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr.conf b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr.conf index 11272757855..b224e721587 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr.conf @@ -39,6 +39,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.0.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_backend_asic.conf b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_backend_asic.conf index ab7f99d43cd..666dd64c8e3 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_backend_asic.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_backend_asic.conf @@ -50,6 +50,8 @@ route-map HIDE_INTERNAL permit 10 set community no-export ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_bmp.conf b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_bmp.conf index 827b287e57f..038b16600cf 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_bmp.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_bmp.conf @@ -39,6 +39,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.200.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_dualtor.conf b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_dualtor.conf index fb1af604c40..f0e59c55f1f 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_dualtor.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_dualtor.conf @@ -39,6 +39,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.0.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_frontend_asic.conf b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_frontend_asic.conf index b84ff10f590..7dfe4761500 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_frontend_asic.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/bgpd_frr_frontend_asic.conf @@ -50,6 +50,8 @@ route-map HIDE_INTERNAL permit 10 set community no-export ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py2/bgpd_quagga.conf b/src/sonic-config-engine/tests/sample_output/py2/bgpd_quagga.conf index fb8bd1d9d9d..33499d483e1 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/bgpd_quagga.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/bgpd_quagga.conf @@ -16,6 +16,8 @@ route-map FROM_BGP_SPEAKER_V4 permit 10 ! route-map TO_BGP_SPEAKER_V4 deny 10 ! +bgp update-delay 20 +! router bgp 65100 bgp log-neighbor-changes bgp bestpath as-path multipath-relax diff --git a/src/sonic-config-engine/tests/sample_output/py2/frr.conf b/src/sonic-config-engine/tests/sample_output/py2/frr.conf index 679871f68a2..753d0d25748 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/frr.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/frr.conf @@ -59,6 +59,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.0.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py2/t2-chassis-fe-bgpd.conf b/src/sonic-config-engine/tests/sample_output/py2/t2-chassis-fe-bgpd.conf index 0b0446aad9e..981fdf4182c 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/t2-chassis-fe-bgpd.conf +++ b/src/sonic-config-engine/tests/sample_output/py2/t2-chassis-fe-bgpd.conf @@ -55,6 +55,8 @@ ip prefix-list PL_LoopbackV4 permit 4.0.0.0/32 ! ! ! +bgp update-delay 20 +! router bgp 4000 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr.conf b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr.conf index 5db248ab852..7fdbf524bff 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr.conf @@ -39,6 +39,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.200.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_backend_asic.conf b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_backend_asic.conf index ab7f99d43cd..666dd64c8e3 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_backend_asic.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_backend_asic.conf @@ -50,6 +50,8 @@ route-map HIDE_INTERNAL permit 10 set community no-export ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_bmp.conf b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_bmp.conf index 827b287e57f..038b16600cf 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_bmp.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_bmp.conf @@ -39,6 +39,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.200.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_dualtor.conf b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_dualtor.conf index 2d769fc05dd..a40fa71bd8c 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_dualtor.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_dualtor.conf @@ -39,6 +39,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.200.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_frontend_asic.conf b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_frontend_asic.conf index b84ff10f590..7dfe4761500 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_frontend_asic.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/bgpd_frr_frontend_asic.conf @@ -50,6 +50,8 @@ route-map HIDE_INTERNAL permit 10 set community no-export ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py3/bgpd_quagga.conf b/src/sonic-config-engine/tests/sample_output/py3/bgpd_quagga.conf index 6c273447393..af0be35f73b 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/bgpd_quagga.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/bgpd_quagga.conf @@ -16,6 +16,8 @@ route-map FROM_BGP_SPEAKER_V4 permit 10 ! route-map TO_BGP_SPEAKER_V4 deny 10 ! +bgp update-delay 20 +! router bgp 65100 bgp log-neighbor-changes bgp bestpath as-path multipath-relax diff --git a/src/sonic-config-engine/tests/sample_output/py3/frr.conf b/src/sonic-config-engine/tests/sample_output/py3/frr.conf index 17d7f561db0..0db749fab8e 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/frr.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/frr.conf @@ -59,6 +59,8 @@ ip prefix-list LOCAL_VLAN_IPV4_PREFIX seq 10 permit 192.168.200.0/27 ! ! ! +bgp update-delay 20 +! router bgp 65100 ! bgp log-neighbor-changes diff --git a/src/sonic-config-engine/tests/sample_output/py3/t2-chassis-fe-bgpd.conf b/src/sonic-config-engine/tests/sample_output/py3/t2-chassis-fe-bgpd.conf index 0b0446aad9e..981fdf4182c 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/t2-chassis-fe-bgpd.conf +++ b/src/sonic-config-engine/tests/sample_output/py3/t2-chassis-fe-bgpd.conf @@ -55,6 +55,8 @@ ip prefix-list PL_LoopbackV4 permit 4.0.0.0/32 ! ! ! +bgp update-delay 20 +! router bgp 4000 ! bgp log-neighbor-changes