summaryrefslogtreecommitdiffstats
path: root/isisd
diff options
context:
space:
mode:
authorIgor Ryzhov <iryzhov@nfware.com>2021-05-06 13:54:37 +0200
committerIgor Ryzhov <iryzhov@nfware.com>2021-05-07 11:03:57 +0200
commitbb28b985fd08242cdcf23b53cbf080b81e017546 (patch)
tree2deae6e4ba96045faab6b941a123bfedd875f116 /isisd
parentisisd: rework BFD integration (diff)
downloadfrr-bb28b985fd08242cdcf23b53cbf080b81e017546.tar.xz
frr-bb28b985fd08242cdcf23b53cbf080b81e017546.zip
isisd: fix "no bfd profile" command
Instead of setting the profile to an empty string we should destroy the NB node. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'isisd')
-rw-r--r--isisd/isis_cli.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/isisd/isis_cli.c b/isisd/isis_cli.c
index f316e0279..ed10c3903 100644
--- a/isisd/isis_cli.c
+++ b/isisd/isis_cli.c
@@ -378,8 +378,14 @@ DEFPY_YANG(isis_bfd_profile,
return CMD_SUCCESS;
}
- nb_cli_enqueue_change(vty, "./frr-isisd:isis/bfd-monitoring/profile",
- NB_OP_MODIFY, no ? NULL : profile);
+ if (no)
+ nb_cli_enqueue_change(vty,
+ "./frr-isisd:isis/bfd-monitoring/profile",
+ NB_OP_DESTROY, NULL);
+ else
+ nb_cli_enqueue_change(vty,
+ "./frr-isisd:isis/bfd-monitoring/profile",
+ NB_OP_MODIFY, profile);
return nb_cli_apply_changes(vty, NULL);
}
@@ -387,18 +393,14 @@ DEFPY_YANG(isis_bfd_profile,
void cli_show_ip_isis_bfd_monitoring(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
{
- const char *profile;
-
if (!yang_dnode_get_bool(dnode, "./enabled"))
vty_out(vty, " no");
vty_out(vty, " isis bfd\n");
- if (yang_dnode_exists(dnode, "./profile")) {
- profile = yang_dnode_get_string(dnode, "./profile");
- if (profile[0] != '\0')
- vty_out(vty, " isis bfd profile %s\n", profile);
- }
+ if (yang_dnode_exists(dnode, "./profile"))
+ vty_out(vty, " isis bfd profile %s\n",
+ yang_dnode_get_string(dnode, "./profile"));
}
/*