mirror_frr/tools
Donald Sharp 6293c2181a tools: limit bgp route-maps to direct changes only
When using frr-reload.py to modify a bgp neighbors route-map
the code was doing this:

a) deleting the previous route-map: `no neighbor XX route-map YY (in|out)`
b) Adding the new route-map back in `neighbor XX route-may ZZ (in|out)`

Now imagine that we have an outgoing route-map that we are changing
and the reload is large because of a large number of lines in frr.conf

Item (a) will happen.  BGP will immediately start sending all local
routes.  At some point in time in the future (b) will be applied.
This of course causes a withdraw but for a short amount of time we
are leaking unintended routes.  This is bad for several reasons
not 1) route churn upstream, 2) we might influence traffic to go the
wrong way. 3) if upstream has a maximum-prefix command the routes
being sent might trip its circuitry and shutdown the peer entirely
not even allowing you to get to (b).

Ticket: #2589685
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-06-23 10:19:00 -04:00
..
coccinelle tools: add cocci patch for thread cancel api changes 2020-10-23 12:16:52 -04:00
etc tools: Add EVPN show commands to support bundle 2021-06-07 17:59:45 -07:00
gcc-plugins tools/gcc-plugin: support [un]signed in pragma 2021-03-26 17:51:55 +01:00
.gitignore build: ignore frr-llvm-cg binary 2021-03-27 20:59:39 +01:00
build-debian-package.sh Revert "debian: Update tools/build-debian-package.sh to use git-buildpackage" 2020-11-19 17:12:40 -05:00
checkpatch.pl tools/checkpatch: downgrade string concat warning 2021-02-01 17:33:03 +01:00
checkpatch.sh tools: improve checkpatch slicing 2018-08-03 17:25:14 +00:00
cocci.h tools: improve cocci.h 2020-07-14 11:27:41 +02:00
convert-fixedwidth.sh tools, doc: update checkpatch for u_int_* 2018-03-27 15:00:23 -04:00
fixup-deprecated.py *: reformat python files 2020-10-07 17:22:26 -04:00
frr-llvm-cg.c tools: dump YANG info in frr-llvm-cg 2021-04-07 22:31:54 +02:00
frr-llvm-debuginfo.cpp tools: grok struct member calls in frr-llvm-cg 2021-04-07 22:31:25 +02:00
frr-llvm-debuginfo.h tools: grok struct member calls in frr-llvm-cg 2021-04-07 22:31:25 +02:00
frr-reload tools: Add helper frr-reload shell script for clean error 2018-03-14 17:31:29 -07:00
frr-reload.py tools: limit bgp route-maps to direct changes only 2021-06-23 10:19:00 -04:00
frr.in pathd: New SR-TE policy management daemon 2020-12-18 16:34:02 +01:00
frr.service.in tools: fix systemd OnFailure directive 2021-03-25 10:37:23 -04:00
frr.vim tools: add vim snippet 2019-06-12 19:35:43 +02:00
frr@.service.in tools: fix systemd OnFailure directive 2021-03-25 10:37:23 -04:00
frrcommon.sh.in tools: Added pathd to the relevant init files 2021-03-29 15:42:35 +02:00
frrinit.sh.in watchfrr: add (network) namespace support 2020-07-22 12:56:04 +02:00
gen_northbound_callbacks.c lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
gen_yang_deviations.c lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
generate_support_bundle.py tests: make generate support bundle python3 only 2021-02-15 08:13:06 -05:00
git-reindent-branch.py *: reformat python files 2020-10-07 17:22:26 -04:00
indent.py *: reformat python files 2020-10-07 17:22:26 -04:00
lua.scr bgpd: Add lua match command 2018-09-26 21:21:23 -04:00
Makefile build: non-recursive watchfrr & tools 2017-09-07 16:18:50 +02:00
mrlg.txt mrlg: Remove obsolete version. 2016-05-26 01:16:28 +00:00
multiple-bgpd.sh tools: update to use FRR name 2017-07-12 13:26:22 -05:00
nhrpd-event-handler.sh tools: add explicit licence phrase 2021-03-10 11:31:25 -06:00
permutations.c tools: null check (Coverity 1399484) 2018-09-20 16:23:52 +02:00
render_md.py *: reformat python files 2020-10-07 17:22:26 -04:00
rrcheck.pl tools: use standard interpreter path in all Perl scripts 2012-04-30 16:13:47 +02:00
rrlookup.pl tools: use standard interpreter path in all Perl scripts 2012-04-30 16:13:47 +02:00
start-stop-daemon.c *: un-split strings across lines 2020-07-14 10:37:25 +02:00
stringmangle.py *: reformat python files 2020-10-07 17:22:26 -04:00
subdir.am Merge pull request #8353 from opensourcerouting/llvm-20210327 2021-06-01 19:08:32 +00:00
symalyzer.html tools: symalyzer 2019-12-14 12:41:19 +01:00
symalyzer.py *: reformat python files 2020-10-07 17:22:26 -04:00
tarsource.sh Revert "debian: Adjust tarsource.sh to use native debian/changelog" 2020-11-19 17:12:41 -05:00
valgrind.supp tools: Add some more data to ignore for valgrind 2021-05-05 10:52:51 -04:00
vty_index.sh *: fix remaining vty->index & add coccinelle patch 2016-12-09 17:36:25 +01:00
watchfrr.sh.in watchfrr: build in defaults for -r/-s/-k 2019-02-19 21:34:31 +01:00
zc.pl tools: use standard interpreter path in all Perl scripts 2012-04-30 16:13:47 +02:00
zebra.el Initial revision 2002-12-13 20:15:29 +00:00