X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=isisd%2Fisis_cli.c;h=3144b3c28ebafbe6720f16c2f917ee33ac46ace5;hb=f94ed830df98218447f00b97f856de811bfcc4a2;hp=00948528259d56d158b297677134488c9bb7df98;hpb=65c90790996afbd1a6d1c1e1565d33b334a42684;p=mirror_frr.git diff --git a/isisd/isis_cli.c b/isisd/isis_cli.c index 009485282..3144b3c28 100644 --- a/isisd/isis_cli.c +++ b/isisd/isis_cli.c @@ -32,7 +32,7 @@ #include "yang.h" #include "lib/linklist.h" #include "isisd/isisd.h" -#include "isisd/isis_cli.h" +#include "isisd/isis_nb.h" #include "isisd/isis_misc.h" #include "isisd/isis_circuit.h" #include "isisd/isis_csm.h" @@ -324,6 +324,40 @@ void cli_show_ip_isis_ipv6(struct vty *vty, struct lyd_node *dnode, yang_dnode_get_string(dnode, "../area-tag")); } +/* + * XPath: /frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring + */ +DEFPY(isis_bfd, + isis_bfd_cmd, + "[no] isis bfd", + NO_STR + PROTO_HELP + "Enable BFD support\n") +{ + const struct lyd_node *dnode; + + dnode = yang_dnode_get(vty->candidate_config->dnode, + "%s/frr-isisd:isis", VTY_CURR_XPATH); + if (dnode == NULL) { + vty_out(vty, "ISIS is not enabled on this circuit\n"); + return CMD_SUCCESS; + } + + nb_cli_enqueue_change(vty, "./frr-isisd:isis/bfd-monitoring", + NB_OP_MODIFY, no ? "false" : "true"); + + return nb_cli_apply_changes(vty, NULL); +} + +void cli_show_ip_isis_bfd_monitoring(struct vty *vty, struct lyd_node *dnode, + bool show_defaults) +{ + if (!yang_dnode_get_bool(dnode, NULL)) + vty_out(vty, " no"); + + vty_out(vty, " isis bfd\n"); +} + /* * XPath: /frr-isisd:isis/instance/area-address */ @@ -1942,6 +1976,7 @@ void isis_cli_init(void) install_element(INTERFACE_NODE, &ip_router_isis_cmd); install_element(INTERFACE_NODE, &ip6_router_isis_cmd); install_element(INTERFACE_NODE, &no_ip_router_isis_cmd); + install_element(INTERFACE_NODE, &isis_bfd_cmd); install_element(ISIS_NODE, &net_cmd);