diff options
| author | Russ White <russ@riw.us> | 2019-04-25 18:55:42 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-25 18:55:42 -0400 |
| commit | 76f5dc181b32dc582bd9ebb8d9128542b58f9277 (patch) | |
| tree | c3ccc7101bab36e2b813e44c0bdcd320ad31a7a8 | |
| parent | a34fd5b9f149d6f95308b9cd538c216473eddb4f (diff) | |
| parent | ee951352d1cc6d9579dd1a7236436edbab79b4c7 (diff) | |
Merge pull request #4204 from dslicenc/frr-reload-bfd-timers
tools: frr-reload.py stop bouncing peers on bfd timer change
| -rwxr-xr-x | tools/frr-reload.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/frr-reload.py b/tools/frr-reload.py index 59f1bcf52b..ce1db770d2 100755 --- a/tools/frr-reload.py +++ b/tools/frr-reload.py @@ -742,6 +742,27 @@ def ignore_delete_re_add_lines(lines_to_add, lines_to_del): lines_to_add_to_del.append((tmp_ctx_keys, swpx_peergroup)) ''' + Changing the bfd timers on neighbors is allowed without doing + a delete/add process. Since doing a "no neighbor blah bfd ..." + will cause the peer to bounce unnecessarily, just skip the delete + and just do the add. + ''' + re_nbr_bfd_timers = re.search(r'neighbor (\S+) bfd (\S+) (\S+) (\S+)', line) + + if re_nbr_bfd_timers: + nbr = re_nbr_bfd_timers.group(1) + bfd_nbr = "neighbor %s" % nbr + + for (ctx_keys, add_line) in lines_to_add: + re_add_nbr_bfd_timers = re.search(r'neighbor (\S+) bfd (\S+) (\S+) (\S+)', add_line) + + if re_add_nbr_bfd_timers: + found_add_bfd_nbr = line_exist(lines_to_add, ctx_keys, bfd_nbr, False) + + if found_add_bfd_nbr: + lines_to_del_to_del.append((ctx_keys, line)) + + ''' We changed how we display the neighbor interface command. Older versions of frr would display the following: neighbor swp1 interface |
