]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_cli.c
Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed
[mirror_frr.git] / isisd / isis_cli.c
index 5f7be160341a1f720744d7dddd516bd91e675124..3144b3c28ebafbe6720f16c2f917ee33ac46ace5 100644 (file)
@@ -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
  */
@@ -928,12 +962,12 @@ void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode,
 }
 
 /*
- * XPath: /frr-isisd:isis/mpls-te
+ * XPath: /frr-isisd:isis/instance/mpls-te
  */
 DEFPY(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
       MPLS_TE_STR "Enable the MPLS-TE functionality\n")
 {
-       nb_cli_enqueue_change(vty, "/frr-isisd:isis/mpls-te", NB_OP_CREATE,
+       nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_CREATE,
                              NULL);
 
        return nb_cli_apply_changes(vty, NULL);
@@ -942,9 +976,9 @@ DEFPY(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
 DEFPY(no_isis_mpls_te_on, no_isis_mpls_te_on_cmd, "no mpls-te [on]",
       NO_STR
       "Disable the MPLS-TE functionality\n"
-      "Enable the MPLS-TE functionality\n")
+      "Disable the MPLS-TE functionality\n")
 {
-       nb_cli_enqueue_change(vty, "/frr-isisd:isis/mpls-te", NB_OP_DESTROY,
+       nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_DESTROY,
                              NULL);
 
        return nb_cli_apply_changes(vty, NULL);
@@ -957,7 +991,7 @@ void cli_show_isis_mpls_te(struct vty *vty, struct lyd_node *dnode,
 }
 
 /*
- * XPath: /frr-isisd:isis/mpls-te/router-address
+ * XPath: /frr-isisd:isis/instance/mpls-te/router-address
  */
 DEFPY(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
       "mpls-te router-address A.B.C.D",
@@ -965,12 +999,24 @@ DEFPY(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
       "Stable IP address of the advertising router\n"
       "MPLS-TE router address in IPv4 address format\n")
 {
-       nb_cli_enqueue_change(vty, "/frr-isisd:isis/mpls-te/router-address",
+       nb_cli_enqueue_change(vty, "./mpls-te/router-address",
                              NB_OP_MODIFY, router_address_str);
 
        return nb_cli_apply_changes(vty, NULL);
 }
 
+DEFPY(no_isis_mpls_te_router_addr, no_isis_mpls_te_router_addr_cmd,
+      "no mpls-te router-address [A.B.C.D]",
+      NO_STR MPLS_TE_STR
+      "Delete IP address of the advertising router\n"
+      "MPLS-TE router address in IPv4 address format\n")
+{
+       nb_cli_enqueue_change(vty, "./mpls-te/router-address",
+                             NB_OP_DESTROY, NULL);
+
+       return nb_cli_apply_changes(vty, NULL);
+}
+
 void cli_show_isis_mpls_te_router_addr(struct vty *vty, struct lyd_node *dnode,
                                       bool show_defaults)
 {
@@ -986,7 +1032,7 @@ DEFPY(isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
       "AREA native mode self originate INTER-AS LSP with L1 and L2 flooding scope\n"
       "AS native mode self originate INTER-AS LSP with L2 only flooding scope\n")
 {
-       vty_out(vty, "MPLS-TE Inter-AS is not yet supported.");
+       vty_out(vty, "MPLS-TE Inter-AS is not yet supported\n");
        return CMD_SUCCESS;
 }
 
@@ -1930,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);
 
@@ -1967,6 +2014,7 @@ void isis_cli_init(void)
        install_element(ISIS_NODE, &isis_mpls_te_on_cmd);
        install_element(ISIS_NODE, &no_isis_mpls_te_on_cmd);
        install_element(ISIS_NODE, &isis_mpls_te_router_addr_cmd);
+       install_element(ISIS_NODE, &no_isis_mpls_te_router_addr_cmd);
        install_element(ISIS_NODE, &isis_mpls_te_inter_as_cmd);
 
        install_element(ISIS_NODE, &isis_default_originate_cmd);