summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ospf6d/ospf6_top.c1
-rw-r--r--ospfd/ospf_vty.c1
-rwxr-xr-xtools/frr-reload.py20
-rw-r--r--zebra/debug.c5
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);