summaryrefslogtreecommitdiff
path: root/src/tests/test_template.py
diff options
context:
space:
mode:
authorAlex Kudentsov <43482574+alexk37@users.noreply.github.com>2026-10-06 13:25:22 +0700
committerAlex Kudentsov <43482574+alexk37@users.noreply.github.com>2026-10-07 00:46:24 +0700
commitdf22720c7af9fab801f2f7b3b69afd05e6e511e9 (patch)
treee1c6fe82f334b2ca893cfe8555bdcbd68794c244 /src/tests/test_template.py
parent87e0a46281746f92a0dde4c7d71c86aa00ec90ea (diff)
downloadvyos-1x-df22720c7af9fab801f2f7b3b69afd05e6e511e9.tar.gz
vyos-1x-df22720c7af9fab801f2f7b3b69afd05e6e511e9.zip
bgp: T9404: do not render "bgp default local-preference" when the value is 100
FRR does not print "bgp default local-preference 100" in show running-config because 100 is its default, so frr-reload never finds the line in the running config and sends it again on every reload. The command handler calls bgp_clear_star_soft_in() whether or not the value changed, so every reload ran "clear bgp * soft in" (once in pass 0 and twice in pass 1), a full inbound re-evaluation of every peer. Add the default (100) to the XML definition of parameters default local-pref. Templates cannot query the XML definition while rendering, so frrender takes the value from the config defaults of "parameters default" (conf.get_config_defaults) and adds it to the BGP dict as the key xml_default_local_pref, for the global instance and for every VRF instance. bgpd.frr.j2 renders the line only when the configured value differs from xml_default_local_pref, so the value 100 is not hardcoded in the template. A real value change (100 to 200, or 200 to 100) is still sent: frr-reload sees the difference between the rendered file and the running config.
Diffstat (limited to 'src/tests/test_template.py')
0 files changed, 0 insertions, 0 deletions