diff options
| -rw-r--r-- | ospf6d/ospf6_top.c | 1 | ||||
| -rw-r--r-- | ospfd/ospf_vty.c | 1 | ||||
| -rwxr-xr-x | tools/frr-reload.py | 20 | ||||
| -rw-r--r-- | zebra/debug.c | 5 |
4 files changed, 25 insertions, 2 deletions
diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c index c2545afdc6..f2a1c8c2ec 100644 --- a/ospf6d/ospf6_top.c +++ b/ospf6d/ospf6_top.c @@ -395,7 +395,6 @@ DEFUN (no_ospf6_log_adjacency_changes_detail, VTY_DECLVAR_CONTEXT(ospf6, ospf6); UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL); - UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES); return CMD_SUCCESS; } diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 6f72903695..49474df826 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -2138,7 +2138,6 @@ DEFUN (no_ospf_log_adjacency_changes_detail, { VTY_DECLVAR_CONTEXT(ospf, ospf); - UNSET_FLAG(ospf->config, OSPF_LOG_ADJACENCY_CHANGES); UNSET_FLAG(ospf->config, OSPF_LOG_ADJACENCY_DETAIL); return CMD_SUCCESS; } diff --git a/tools/frr-reload.py b/tools/frr-reload.py index 4c26300099..c91392da15 100755 --- a/tools/frr-reload.py +++ b/tools/frr-reload.py @@ -988,6 +988,21 @@ if __name__ == '__main__': # the "neighbor 1.1.1.1 route-map FOO out" line...so we compare the # configs again to put this line back. + # There are many keywords in quagga that can only appear one time under + # a context, take "bgp router-id" for example. If the config that we are + # reloading against has the following: + # + # router bgp 10 + # bgp router-id 1.1.1.1 + # bgp router-id 2.2.2.2 + # + # The final config needs to contain "bgp router-id 2.2.2.2". On the + # first pass we will add "bgp router-id 2.2.2.2" but then on the second + # pass we will see that "bgp router-id 1.1.1.1" is missing and add that + # back which cancels out the "bgp router-id 2.2.2.2". The fix is for the + # second pass to include all of the "adds" from the first pass. + lines_to_add_first_pass = [] + for x in range(2): running = Config() running.load_from_show_running() @@ -995,6 +1010,11 @@ if __name__ == '__main__': (lines_to_add, lines_to_del) = compare_context_objects(newconf, running) + if x == 0: + lines_to_add_first_pass = lines_to_add + else: + lines_to_add.extend(lines_to_add_first_pass) + # Only do deletes on the first pass. The reason being if we # configure a bgp neighbor via "neighbor swp1 interface" quagga # will automatically add: diff --git a/zebra/debug.c b/zebra/debug.c index 2e9fef292b..f21778276e 100644 --- a/zebra/debug.c +++ b/zebra/debug.c @@ -399,6 +399,11 @@ config_write_debug (struct vty *vty) vty_out (vty, "debug zebra fpm%s", VTY_NEWLINE); write++; } + if (IS_ZEBRA_DEBUG_NHT) + { + vty_out (vty, "debug zebra nht%s", VTY_NEWLINE); + write++; + } if (IS_ZEBRA_DEBUG_MPLS) { vty_out (vty, "debug zebra mpls%s", VTY_NEWLINE); |
