]> git.puffer.fish Git - matthieu/frr.git/commitdiff
isisd: move old BFD command to fabricd only
authorRafael Zalamena <rzalamena@opensourcerouting.org>
Wed, 12 Jun 2019 18:18:19 +0000 (15:18 -0300)
committerRafael Zalamena <rzalamena@opensourcerouting.org>
Tue, 9 Jul 2019 15:19:21 +0000 (12:19 -0300)
The `isisd` will receive a northbound version of the BFD command, so
this is the first step to implement it.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
isisd/fabricd.h
isisd/isis_main.c
isisd/isis_vty_common.c [deleted file]
isisd/isis_vty_common.h [deleted file]
isisd/isis_vty_fabricd.c
isisd/subdir.am

index 315cfba3f08e8f54820f0b51a028ddc2f9e59ce6..6e93440f3a259efe06d132475b9807e38a9f0cf1 100644 (file)
@@ -53,4 +53,6 @@ void fabricd_update_lsp_no_flood(struct isis_lsp *lsp,
 void fabricd_configure_triggered_csnp(struct isis_area *area, int delay,
                                      bool always_send_csnp);
 void fabricd_init(void);
+void isis_vty_daemon_init(void);
+
 #endif
index 48ae760173511e4d8a18681a6e30e67355444f85..7f49e9d89a11558177cbaa86154864c3424a736b 100644 (file)
@@ -53,7 +53,6 @@
 #include "isisd/isis_zebra.h"
 #include "isisd/isis_te.h"
 #include "isisd/isis_errors.h"
-#include "isisd/isis_vty_common.h"
 #include "isisd/isis_bfd.h"
 #include "isisd/isis_lsp.h"
 #include "isisd/isis_mt.h"
@@ -230,7 +229,9 @@ int main(int argc, char **argv, char **envp)
        prefix_list_init();
        isis_init();
        isis_circuit_init();
-       isis_vty_init();
+#ifdef FABRICD
+       isis_vty_daemon_init();
+#endif /* FABRICD */
 #ifndef FABRICD
        isis_cli_init();
 #endif /* ifdef FABRICD */
diff --git a/isisd/isis_vty_common.c b/isisd/isis_vty_common.c
deleted file mode 100644 (file)
index 06432db..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * IS-IS Rout(e)ing protocol - isis_vty_common.c
- *
- * This file contains the CLI that is shared between OpenFabric and IS-IS
- *
- * Copyright (C) 2001,2002   Sampo Saaristo
- *                           Tampere University of Technology
- *                           Institute of Communications Engineering
- * Copyright (C) 2016        David Lamparter, for NetDEF, Inc.
- * Copyright (C) 2018        Christian Franke, for NetDEF, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public Licenseas published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; see the file COPYING; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <zebra.h>
-
-#include "command.h"
-#include "bfd.h"
-
-#include "isis_circuit.h"
-#include "isis_csm.h"
-#include "isis_misc.h"
-#include "isisd.h"
-#include "isis_bfd.h"
-#include "isis_vty_common.h"
-
-struct isis_circuit *isis_circuit_lookup(struct vty *vty)
-{
-       struct interface *ifp = VTY_GET_CONTEXT(interface);
-       struct isis_circuit *circuit;
-
-       if (!ifp) {
-               vty_out(vty, "Invalid interface \n");
-               return NULL;
-       }
-
-       circuit = circuit_scan_by_ifp(ifp);
-       if (!circuit) {
-               vty_out(vty, "ISIS is not enabled on circuit %s\n", ifp->name);
-               return NULL;
-       }
-
-       return circuit;
-}
-
-DEFUN (isis_bfd,
-       isis_bfd_cmd,
-       PROTO_NAME " bfd",
-       PROTO_HELP
-       "Enable BFD support\n")
-{
-       struct isis_circuit *circuit = isis_circuit_lookup(vty);
-
-       if (!circuit)
-               return CMD_ERR_NO_MATCH;
-
-       if (circuit->bfd_info
-           && CHECK_FLAG(circuit->bfd_info->flags, BFD_FLAG_PARAM_CFG)) {
-               return CMD_SUCCESS;
-       }
-
-       isis_bfd_circuit_param_set(circuit, BFD_DEF_MIN_RX,
-                                  BFD_DEF_MIN_TX, BFD_DEF_DETECT_MULT, true);
-
-       return CMD_SUCCESS;
-}
-
-DEFUN (no_isis_bfd,
-       no_isis_bfd_cmd,
-       "no " PROTO_NAME " bfd",
-       NO_STR
-       PROTO_HELP
-       "Disables BFD support\n"
-)
-{
-       struct isis_circuit *circuit = isis_circuit_lookup(vty);
-
-       if (!circuit)
-               return CMD_ERR_NO_MATCH;
-
-       if (!circuit->bfd_info)
-               return CMD_SUCCESS;
-
-       isis_bfd_circuit_cmd(circuit, ZEBRA_BFD_DEST_DEREGISTER);
-       bfd_info_free(&circuit->bfd_info);
-       return CMD_SUCCESS;
-}
-
-void isis_vty_init(void)
-{
-       install_element(INTERFACE_NODE, &isis_bfd_cmd);
-       install_element(INTERFACE_NODE, &no_isis_bfd_cmd);
-
-#ifdef FABRICD
-       isis_vty_daemon_init();
-#endif /* ifdef FABRICD */
-}
diff --git a/isisd/isis_vty_common.h b/isisd/isis_vty_common.h
deleted file mode 100644 (file)
index 297da0e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * IS-IS Rout(e)ing protocol - isis_vty_common.h
- *
- * Copyright (C) 2001,2002   Sampo Saaristo
- *                           Tampere University of Technology
- *                           Institute of Communications Engineering
- * Copyright (C) 2016        David Lamparter, for NetDEF, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public Licenseas published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; see the file COPYING; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef ISIS_VTY_COMMON_H
-#define ISIS_VTY_COMMON_H
-
-struct isis_circuit *isis_circuit_lookup(struct vty *vty);
-
-void isis_vty_daemon_init(void);
-void isis_vty_init(void);
-
-#endif
index 431ad9712aeaa064e904344905e07aec83245a80..24e5c519478c9a8384c4ed7dc079f1e5815c41be 100644 (file)
@@ -23,8 +23,9 @@
 
 #include "command.h"
 
+#include "lib/bfd.h"
+#include "isisd/isis_bfd.h"
 #include "isisd/isisd.h"
-#include "isisd/isis_vty_common.h"
 #include "isisd/fabricd.h"
 #include "isisd/isis_tlvs.h"
 #include "isisd/isis_misc.h"
 #include "lib/spf_backoff.h"
 #include "isisd/isis_mt.h"
 
+static struct isis_circuit *isis_circuit_lookup(struct vty *vty)
+{
+       struct interface *ifp = VTY_GET_CONTEXT(interface);
+       struct isis_circuit *circuit;
+
+       if (!ifp) {
+               vty_out(vty, "Invalid interface \n");
+               return NULL;
+       }
+
+       circuit = circuit_scan_by_ifp(ifp);
+       if (!circuit) {
+               vty_out(vty, "ISIS is not enabled on circuit %s\n", ifp->name);
+               return NULL;
+       }
+
+       return circuit;
+}
+
 DEFUN (fabric_tier,
        fabric_tier_cmd,
        "fabric-tier (0-14)",
@@ -288,6 +308,49 @@ DEFUN (no_ip_router_isis,
        return CMD_SUCCESS;
 }
 
+DEFUN (isis_bfd,
+       isis_bfd_cmd,
+       PROTO_NAME " bfd",
+       PROTO_HELP
+       "Enable BFD support\n")
+{
+       struct isis_circuit *circuit = isis_circuit_lookup(vty);
+
+       if (!circuit)
+               return CMD_ERR_NO_MATCH;
+
+       if (circuit->bfd_info
+           && CHECK_FLAG(circuit->bfd_info->flags, BFD_FLAG_PARAM_CFG)) {
+               return CMD_SUCCESS;
+       }
+
+       isis_bfd_circuit_param_set(circuit, BFD_DEF_MIN_RX,
+                                  BFD_DEF_MIN_TX, BFD_DEF_DETECT_MULT, true);
+
+       return CMD_SUCCESS;
+}
+
+DEFUN (no_isis_bfd,
+       no_isis_bfd_cmd,
+       "no " PROTO_NAME " bfd",
+       NO_STR
+       PROTO_HELP
+       "Disables BFD support\n"
+)
+{
+       struct isis_circuit *circuit = isis_circuit_lookup(vty);
+
+       if (!circuit)
+               return CMD_ERR_NO_MATCH;
+
+       if (!circuit->bfd_info)
+               return CMD_SUCCESS;
+
+       isis_bfd_circuit_cmd(circuit, ZEBRA_BFD_DEST_DEREGISTER);
+       bfd_info_free(&circuit->bfd_info);
+       return CMD_SUCCESS;
+}
+
 DEFUN (set_overload_bit,
        set_overload_bit_cmd,
        "set-overload-bit",
@@ -1045,6 +1108,8 @@ void isis_vty_daemon_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(INTERFACE_NODE, &no_isis_bfd_cmd);
 
        install_element(ROUTER_NODE, &set_overload_bit_cmd);
        install_element(ROUTER_NODE, &no_set_overload_bit_cmd);
index bae56309cf03efe0b7f65adbb90e054b8c15cb23..24f24022a506ca88bf8e27113dda0f715aeadd3e 100644 (file)
@@ -11,7 +11,6 @@ vtysh_scan += \
        $(top_srcdir)/isisd/isis_redist.c \
        $(top_srcdir)/isisd/isis_spf.c \
        $(top_srcdir)/isisd/isis_te.c \
-       $(top_srcdir)/isisd/isis_vty_common.c \
        $(top_srcdir)/isisd/isis_vty_fabricd.c \
        $(top_srcdir)/isisd/isisd.c \
        # end
@@ -51,7 +50,6 @@ noinst_HEADERS += \
        isisd/isis_te.h \
        isisd/isis_tlvs.h \
        isisd/isis_tx_queue.h \
-       isisd/isis_vty_common.h \
        isisd/isis_zebra.h \
        isisd/isisd.h \
        isisd/iso_checksum.h \
@@ -82,7 +80,6 @@ LIBISIS_SOURCES = \
        isisd/isis_te.c \
        isisd/isis_tlvs.c \
        isisd/isis_tx_queue.c \
-       isisd/isis_vty_common.c \
        isisd/isis_zebra.c \
        isisd/isisd.c \
        isisd/iso_checksum.c \