summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/frr-reload.py14
-rw-r--r--vtysh/vtysh.c2
2 files changed, 15 insertions, 1 deletions
diff --git a/tools/frr-reload.py b/tools/frr-reload.py
index cf31da38b8..cc383e06d8 100755
--- a/tools/frr-reload.py
+++ b/tools/frr-reload.py
@@ -473,7 +473,7 @@ end
current_context_lines = []
log.debug('LINE %-50s: popping from subcontext to ctx%-50s', line, ctx_keys)
- elif line == "exit-vni":
+ elif line in ["exit-vni", "exit-ldp-if"]:
if sub_main_ctx_key:
self.save_contexts(ctx_keys, current_context_lines)
@@ -525,6 +525,18 @@ end
sub_main_ctx_key = copy.deepcopy(ctx_keys)
log.debug('LINE %-50s: entering sub-sub-context, append to ctx_keys', line)
ctx_keys.append(line)
+
+ elif ((line.startswith("interface ") and
+ len(ctx_keys) == 2 and
+ ctx_keys[0].startswith('mpls ldp') and
+ ctx_keys[1].startswith('address-family'))):
+
+ # Save old context first
+ self.save_contexts(ctx_keys, current_context_lines)
+ current_context_lines = []
+ sub_main_ctx_key = copy.deepcopy(ctx_keys)
+ log.debug('LINE %-50s: entering sub-sub-context, append to ctx_keys', line)
+ ctx_keys.append(line)
else:
# Continuing in an existing context, add non-commented lines to it
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index f8292c530f..5c4e8a313b 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -725,11 +725,13 @@ int vtysh_mark_file(const char *filename)
switch (vty->node) {
case LDP_IPV4_IFACE_NODE:
if (strncmp(vty_buf_copy, " ", 3)) {
+ vty_out(vty, " exit-ldp-if\n");
vty->node = LDP_IPV4_NODE;
}
break;
case LDP_IPV6_IFACE_NODE:
if (strncmp(vty_buf_copy, " ", 3)) {
+ vty_out(vty, " exit-ldp-if\n");
vty->node = LDP_IPV6_NODE;
}
break;