isisd, yang: add configuration model and callback stubs

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
This commit is contained in:
Emanuele Di Pascale 2018-11-13 16:35:07 +01:00
parent bb359ba2f2
commit 20bd27e2aa
8 changed files with 3311 additions and 0 deletions

50
isisd/isis_cli.c Normal file
View File

@ -0,0 +1,50 @@
/*
* Copyright (C) 2001,2002 Sampo Saaristo
* Tampere University of Technology
* Institute of Communications Engineering
* Copyright (C) 2018 Volta Networks
* Emanuele Di Pascale
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as 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 "if.h"
#include "vrf.h"
#include "log.h"
#include "prefix.h"
#include "command.h"
#include "northbound_cli.h"
#include "libfrr.h"
#include "yang.h"
#include "lib/linklist.h"
#include "isisd/isisd.h"
#include "isisd/isis_cli.h"
#include "isisd/isis_misc.h"
#include "isisd/isis_circuit.h"
#include "isisd/isis_csm.h"
#ifndef VTYSH_EXTRACT_PL
#include "isisd/isis_cli_clippy.c"
#endif
#ifndef FABRICD
void isis_cli_init(void)
{
}
#endif /* ifndef FABRICD */

25
isisd/isis_cli.h Normal file
View File

@ -0,0 +1,25 @@
/*
* Copyright (C) 2018 Volta Networks
* Emanuele Di Pascale
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as 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 ISISD_ISIS_CLI_H_
#define ISISD_ISIS_CLI_H_
/* add cli_show declarations here as externs */
#endif /* ISISD_ISIS_CLI_H_ */

View File

@ -151,8 +151,12 @@ struct quagga_signal_t isisd_signals[] = {
},
};
static const struct frr_yang_module_info *isisd_yang_modules[] = {
&frr_interface_info,
#ifndef FABRICD
&frr_isisd_info,
#endif /* ifndef FABRICD */
};
#ifdef FABRICD
@ -217,6 +221,9 @@ int main(int argc, char **argv, char **envp)
isis_init();
isis_circuit_init();
isis_vty_init();
#ifndef FABRICD
isis_cli_init();
#endif /* ifdef FABRICD */
isis_spf_cmds_init();
isis_redist_init();
isis_route_map_init();

1826
isisd/isis_northbound.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -50,6 +50,7 @@ static const bool fabricd = false;
#define PROTO_REDIST_STR FRR_REDIST_STR_ISISD
#define PROTO_REDIST_HELP FRR_REDIST_HELP_STR_ISISD
#define ROUTER_NODE ISIS_NODE
extern void isis_cli_init(void);
#endif
extern struct zebra_privs_t isisd_privs;
@ -208,6 +209,8 @@ int isis_area_passwd_cleartext_set(struct isis_area *area, int level,
int isis_area_passwd_hmac_md5_set(struct isis_area *area, int level,
const char *passwd, uint8_t snp_auth);
extern const struct frr_yang_module_info frr_isisd_info;
extern void isis_northbound_init(void);
/* Master of threads. */
extern struct thread_master *master;

View File

@ -7,6 +7,7 @@ noinst_LIBRARIES += isisd/libisis.a
sbin_PROGRAMS += isisd/isisd
dist_examples_DATA += isisd/isisd.conf.sample
vtysh_scan += \
$(top_srcdir)/isisd/isis_cli.c \
$(top_srcdir)/isisd/isis_redist.c \
$(top_srcdir)/isisd/isis_spf.c \
$(top_srcdir)/isisd/isis_te.c \
@ -57,6 +58,7 @@ noinst_HEADERS += \
isisd/isisd.h \
isisd/iso_checksum.h \
isisd/fabricd.h \
isisd/isis_cli.h \
# end
LIBISIS_SOURCES = \
@ -104,7 +106,13 @@ ISIS_LDADD_COMMON = lib/libfrr.la @LIBCAP@
isisd_libisis_a_SOURCES = \
$(LIBISIS_SOURCES) \
isisd/isis_vty_isisd.c \
isisd/isis_northbound.c \
isisd/isis_cli.c \
#end
isisd/isis_cli_clippy.c: $(CLIPPY_DEPS)
isisd/isis_cli.$(OBJEXT): isisd/isis_cli_clippy.c
isisd_isisd_LDADD = isisd/libisis.a $(ISIS_LDADD_COMMON)
isisd_isisd_SOURCES = $(ISIS_SOURCES)

1388
yang/frr-isisd.yang Normal file

File diff suppressed because it is too large Load Diff

View File

@ -31,3 +31,7 @@ endif
if RIPNGD
dist_yangmodels_DATA += yang/frr-ripngd.yang
endif
if ISISD
dist_yangmodels_DATA += yang/frr-isisd.yang
endif