diff --git a/.gitignore b/.gitignore index c5fd0ced9b..8c62f05539 100644 --- a/.gitignore +++ b/.gitignore @@ -1,87 +1,87 @@ -compile -config.log -config.h -config.cache -config.status -config.guess -config.sub -ltmain.sh -stamp-h -stamp-h[0-9]* +### autoconf/automake root stuff + +/compile +/config.log +/config.h +/config.cache +/config.status +/config.guess +/config.sub +/ltmain.sh +/stamp-h +/stamp-h[0-9]* *-stamp -Makefile -INSTALL +/INSTALL +/depcomp +/missing +/install-sh +/mkinstalldirs +/ylwrap +/autom4te*.cache +/configure.lineno +/configure +/config.h.in +/confdefs.h +/conftest +/conftest.err +/aclocal.m4 +/libtool + +/Makefile +/Makefile.in + +### autoconf/automake subdir stuff + .deps -depcomp -missing -install-sh -mkinstalldirs -ylwrap -autom4te*.cache -configure.lineno -configure -config.h.in -confdefs.h -conftest -conftest.err -aclocal.m4 -Makefile.in -*.tar.gz -*.tar.gz.asc -*.tar.?z -.nfs* -libtool .libs -.arch-inventory -.arch-ids -{arch} -build -.msg -.rebase-* -*~ + +### build outputs + *.o +*.lo +*.a +*.la +*.so *.loT -m4/*.m4 -!m4/ax_sys_weak_alias.m4 -!m4/ax_compare_version.m4 -!m4/ax_prog_perl_modules.m4 -!m4/pkg.m4 -debian/autoreconf.after -debian/autoreconf.before -debian/files -debian/frr-dbg.debhelper.log -debian/frr-dbg.substvars -debian/frr-dbg/ -debian/frr-doc.debhelper.log -debian/frr-doc.substvars -debian/frr-doc/ -debian/frr.debhelper.log -debian/frr.postinst.debhelper -debian/frr.postrm.debhelper -debian/frr.prerm.debhelper -debian/frr.substvars -debian/frr/ -debian/tmp/ +*.pb.h +*.pb-c.h +*.pb-c.c +*_clippy.c + +### dist + +*.tar.?z +*.tar.?z.asc +*.tar.asc *.deb *.ddeb *.dsc *.changes -*.pyc + +### other garbage + +.nfs* +.arch-inventory +.arch-ids +{arch} +build +.cache +.msg +.rebase-* +*~ +*.bak *.swp +*.pyc +__pycache__ +*.patch +*.diff cscope.* -*.pb.h -*.pb-c.h -*.pb-c.c TAGS tags GTAGS GSYMS GRTAGS GPATH -*.la -*.lo compile_commands.json .dirstamp - -# clippy generated source -*_clippy.c +refix diff --git a/Makefile.am b/Makefile.am index b9003b8358..aae89a90d7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,10 +1,15 @@ ## Process this file with automake to produce Makefile.in. AUTOMAKE_OPTIONS = subdir-objects 1.12 -include common.am +ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS += -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_srcdir)/lib \ - -I$(top_builddir) -I$(top_builddir)/include -I$(top_builddir)/lib +AM_CFLAGS = \ + @ASAN_FLAGS@ @TSAN_FLAGS@ @MSAN_FLAGS@ \ + $(WERROR) +AM_CPPFLAGS = \ + @ASAN_FLAGS@ @TSAN_FLAGS@ @MSAN_FLAGS@ \ + -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_srcdir)/lib \ + -I$(top_builddir) -I$(top_builddir)/include -I$(top_builddir)/lib DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -DCONFDATE=$(CONFDATE) LIBCAP = @LIBCAP@ @@ -83,6 +88,7 @@ pkginclude_HEADERS = nodist_pkginclude_HEADERS = dist_examples_DATA = man_MANS = +vtysh_scan = ## libtool, the self-made GNU scourge ## ... this should fix relinking @@ -106,6 +112,9 @@ include tools/subdir.am include debianpkg/subdir.am include solaris/subdir.am +include bgpd/subdir.am +include bgpd/rfp-example/librfp/subdir.am +include bgpd/rfp-example/rfptest/subdir.am include ripd/subdir.am include ripngd/subdir.am include ospfd/subdir.am @@ -122,16 +131,8 @@ include pbrd/subdir.am include staticd/subdir.am include bfdd/subdir.am -SUBDIRS = . @LIBRFP@ @RFPTEST@ \ - @BGPD@ \ - @VTYSH@ \ - tests - -DIST_SUBDIRS = . bgpd \ - vtysh tests \ - bgpd/rfp-example/librfp \ - bgpd/rfp-example/rfptest \ - # end +include vtysh/subdir.am +include tests/subdir.am if PKGSRC rcdir=@pkgsrcrcdir@ @@ -169,17 +170,37 @@ EXTRA_DIST += \ snapcraft/helpers \ snapcraft/snap \ \ - vtysh/Makefile.am \ - vtysh/Makefile.in \ - \ + babeld/Makefile \ + bgpd/Makefile \ + bgpd/rfp-example/librfp/Makefile \ + bgpd/rfp-example/rfptest/Makefile \ doc/Makefile \ doc/developer/Makefile \ doc/manpages/Makefile \ doc/user/Makefile \ + eigrpd/Makefile \ + fpm/Makefile \ + isisd/Makefile \ + ldpd/Makefile \ + lib/Makefile \ + nhrpd/Makefile \ + ospf6d/Makefile \ + ospfclient/Makefile \ + ospfd/Makefile \ + pbrd/Makefile \ + pimd/Makefile \ + ports/Makefile \ + qpb/Makefile \ + ripd/Makefile \ + ripngd/Makefile \ + staticd/Makefile \ + tests/Makefile \ + tools/Makefile \ + vtysh/Makefile \ + watchfrr/Makefile \ + zebra/Makefile \ # end -ACLOCAL_AMFLAGS = -I m4 - noinst_HEADERS += defaults.h indent: diff --git a/babeld/subdir.am b/babeld/subdir.am index 6f91f73930..e1f2cb0a00 100644 --- a/babeld/subdir.am +++ b/babeld/subdir.am @@ -6,6 +6,11 @@ if BABELD noinst_LIBRARIES += babeld/libbabel.a sbin_PROGRAMS += babeld/babeld dist_examples_DATA += babeld/babeld.conf.sample +vtysh_scan += \ + $(top_srcdir)/babeld/babel_interface.c \ + $(top_srcdir)/babeld/babel_zebra.c \ + $(top_srcdir)/babeld/babeld.c \ + # end endif babeld_libbabel_a_SOURCES = \ diff --git a/bfdd/.gitignore b/bfdd/.gitignore index e554d1b33f..2b020911fb 100644 --- a/bfdd/.gitignore +++ b/bfdd/.gitignore @@ -1,3 +1,2 @@ # ignore binary files -*.a bfdd diff --git a/bfdd/subdir.am b/bfdd/subdir.am index 86923f5cec..7447519b21 100644 --- a/bfdd/subdir.am +++ b/bfdd/subdir.am @@ -6,6 +6,8 @@ if BFDD noinst_LIBRARIES += bfdd/libbfd.a sbin_PROGRAMS += bfdd/bfdd dist_examples_DATA += bfdd/bfdd.conf.sample +vtysh_scan += $(top_srcdir)/bfdd/bfdd_vty.c +rstman8_DATA += $(MANBUILD)/bfdd.8 endif bfdd_libbfd_a_SOURCES = \ diff --git a/bgpd/.gitignore b/bgpd/.gitignore index 105be22995..2e77195b90 100644 --- a/bgpd/.gitignore +++ b/bgpd/.gitignore @@ -1,18 +1,3 @@ -Makefile -Makefile.in -*.o bgpd bgp_btoa bgpd.conf -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.a -*.libs -.arch-inventory -.arch-ids -*~ -*.loT diff --git a/bgpd/Makefile b/bgpd/Makefile new file mode 100644 index 0000000000..b8664a8e23 --- /dev/null +++ b/bgpd/Makefile @@ -0,0 +1,10 @@ +all: ALWAYS + @$(MAKE) -s -C .. bgpd/bgpd +%: ALWAYS + @$(MAKE) -s -C .. bgpd/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/bgpd/Makefile.am b/bgpd/Makefile.am deleted file mode 100644 index b6b125f752..0000000000 --- a/bgpd/Makefile.am +++ /dev/null @@ -1,140 +0,0 @@ -## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = subdir-objects - -include ../common.am - -if ENABLE_BGP_VNC -#o file to keep linker happy -BGP_VNC_RFP_LIB=rfapi/rfapi_descriptor_rfp_utils.o @top_builddir@/$(LIBRFP)/librfp.a -BGP_VNC_RFP_INC=-I@top_srcdir@/$(RFPINC) -BGP_VNC_RFP_HD=\ - @top_srcdir@/$(RFPINC)/rfp.h -BGP_VNC_RFP_LD_FLAGS_FILE=@top_srcdir@/$(LIBRFP)/rfp_ld_flags -BGP_VNC_RFP_LD_FLAGS=`if [ -e "$(BGP_VNC_RFP_LD_FLAGS_FILE)" ] ; then cat "$(BGP_VNC_RFP_LD_FLAGS_FILE)" ; fi ` - -#BGP_VNC_RFAPI_SRCDIR=rfapi -BGP_VNC_RFAPI_SRCDIR= -BGP_VNC_RFAPI_INC=-Irfapi -BGP_VNC_RFAPI_SRC=rfapi/bgp_rfapi_cfg.c \ - rfapi/rfapi_import.c \ - rfapi/rfapi.c \ - rfapi/rfapi_ap.c \ - rfapi/rfapi_descriptor_rfp_utils.c \ - rfapi/rfapi_encap_tlv.c \ - rfapi/rfapi_nve_addr.c \ - rfapi/rfapi_monitor.c \ - rfapi/rfapi_rib.c \ - rfapi/rfapi_vty.c \ - rfapi/vnc_debug.c \ - rfapi/vnc_export_bgp.c \ - rfapi/vnc_export_table.c \ - rfapi/vnc_import_bgp.c \ - rfapi/vnc_zebra.c -BGP_VNC_RFAPI_HD=rfapi/bgp_rfapi_cfg.h \ - rfapi/rfapi_import.h \ - rfapi/rfapi.h \ - rfapi/rfapi_ap.h \ - rfapi/rfapi_backend.h \ - rfapi/rfapi_descriptor_rfp_utils.h \ - rfapi/rfapi_encap_tlv.h \ - rfapi/rfapi_nve_addr.h \ - rfapi/rfapi_monitor.h \ - rfapi/rfapi_private.h \ - rfapi/rfapi_rib.h \ - rfapi/rfapi_vty.h \ - rfapi/vnc_debug.h \ - rfapi/vnc_export_bgp.h \ - rfapi/vnc_export_table.h \ - rfapi/vnc_import_bgp.h \ - rfapi/vnc_zebra.h \ - rfapi/vnc_export_bgp_p.h \ - rfapi/vnc_import_bgp_p.h \ - bgp_vnc_types.h $(BGP_VNC_RFP_HD) - -else -BGP_VNC_RFAPI_INC= -BGP_VNC_RFAPI_SRC= -BGP_VNC_RFAPI_HD= -BGP_VNC_RFP_LIB= -BGP_VNC_RFP_INC= -BGP_VNC_RFP_HD= -BGP_VNC_RFP_LD_FLAGS= -endif - -AM_CPPFLAGS += -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib \ - $(BGP_VNC_RFAPI_INC) $(BGP_VNC_RFP_INC) -DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -INSTALL_SDATA=@INSTALL@ -m 600 - -noinst_LIBRARIES = libbgp.a -module_LTLIBRARIES = -sbin_PROGRAMS = bgpd -bin_PROGRAMS = bgp_btoa - -BUILT_SOURCES = - -libbgp_a_SOURCES = \ - bgp_memory.c \ - bgpd.c bgp_fsm.c bgp_aspath.c bgp_community.c bgp_attr.c \ - bgp_debug.c bgp_route.c bgp_zebra.c bgp_open.c bgp_routemap.c \ - bgp_packet.c bgp_network.c bgp_filter.c bgp_regex.c bgp_clist.c \ - bgp_dump.c bgp_ecommunity.c bgp_lcommunity.c \ - bgp_mplsvpn.c bgp_nexthop.c \ - bgp_damp.c bgp_table.c bgp_advertise.c bgp_vty.c bgp_mpath.c \ - bgp_nht.c bgp_updgrp.c bgp_updgrp_packet.c bgp_updgrp_adv.c bgp_bfd.c \ - bgp_encap_tlv.c $(BGP_VNC_RFAPI_SRC) bgp_attr_evpn.c \ - bgp_evpn.c bgp_evpn_vty.c bgp_vpn.c bgp_label.c bgp_rd.c \ - bgp_keepalives.c bgp_io.c bgp_flowspec.c bgp_flowspec_util.c \ - bgp_flowspec_vty.c bgp_labelpool.c bgp_pbr.c bgp_errors.c - -noinst_HEADERS = \ - bgp_memory.h \ - bgp_aspath.h bgp_attr.h bgp_community.h bgp_debug.h bgp_fsm.h \ - bgp_network.h bgp_open.h bgp_packet.h bgp_regex.h bgp_route.h \ - bgpd.h bgp_filter.h bgp_clist.h bgp_dump.h bgp_zebra.h \ - bgp_ecommunity.h bgp_lcommunity.h \ - bgp_mplsvpn.h bgp_nexthop.h bgp_damp.h bgp_table.h \ - bgp_advertise.h bgp_vty.h bgp_mpath.h bgp_nht.h \ - bgp_updgrp.h bgp_bfd.h bgp_encap_tlv.h bgp_encap_types.h \ - $(BGP_VNC_RFAPI_HD) bgp_attr_evpn.h bgp_evpn.h bgp_evpn_vty.h \ - bgp_vpn.h bgp_label.h bgp_rd.h bgp_evpn_private.h bgp_keepalives.h \ - bgp_io.h bgp_flowspec.h bgp_flowspec_private.h bgp_flowspec_util.h \ - bgp_labelpool.h bgp_pbr.h bgp_errors.h - -bgpd_SOURCES = bgp_main.c -bgpd_LDADD = libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ @LIBM@ -bgpd_LDFLAGS = $(BGP_VNC_RFP_LD_FLAGS) - -bgp_btoa_SOURCES = bgp_btoa.c -bgp_btoa_LDADD = libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ @LIBM@ -bgp_btoa_LDFLAGS = $(BGP_VNC_RFP_LD_FLAGS) - -if SNMP -module_LTLIBRARIES += bgpd_snmp.la -endif - -bgpd_snmp_la_SOURCES = bgp_snmp.c -bgpd_snmp_la_CFLAGS = $(WERROR) $(SNMP_CFLAGS) -std=gnu99 -bgpd_snmp_la_LDFLAGS = -avoid-version -module -shared -export-dynamic -bgpd_snmp_la_LIBADD = ../lib/libfrrsnmp.la - -if RPKI -module_LTLIBRARIES += bgpd_rpki.la -BUILT_SOURCES += bgp_rpki_clippy.c -endif - -bgpd_rpki_la_SOURCES = bgp_rpki.c -bgpd_rpki_la_CFLAGS = $(WERROR) $(RTRLIB_CFLAGS) -bgpd_rpki_la_LDFLAGS = -avoid-version -module -shared -export-dynamic -bgpd_rpki_la_LIBADD = $(RTRLIB_LIBS) - -examplesdir = $(exampledir) -dist_examples_DATA = bgpd.conf.sample bgpd.conf.sample2 \ - bgpd.conf.vnc.sample - -bgp_vty.o: bgp_vty_clippy.c -bgp_route.o: bgp_route_clippy.c -bgp_debug.o: bgp_debug_clippy.c - -EXTRA_DIST = BGP4-MIB.txt - diff --git a/bgpd/bgp_rpki.c b/bgpd/bgp_rpki.c index 82b268c31d..2e0bb1ae62 100644 --- a/bgpd/bgp_rpki.c +++ b/bgpd/bgp_rpki.c @@ -49,6 +49,7 @@ #include "bgpd/bgp_route.h" #include "lib/network.h" #include "lib/thread.h" +#ifndef VTYSH_EXTRACT_PL #include "rtrlib/rtrlib.h" #include "rtrlib/rtr_mgr.h" #include "rtrlib/lib/ip.h" @@ -56,6 +57,7 @@ #if defined(FOUND_SSH) #include "rtrlib/transport/ssh/ssh_transport.h" #endif +#endif #include "hook.h" #include "libfrr.h" #include "version.h" diff --git a/bgpd/rfp-example/librfp/Makefile b/bgpd/rfp-example/librfp/Makefile new file mode 100644 index 0000000000..8deb93d745 --- /dev/null +++ b/bgpd/rfp-example/librfp/Makefile @@ -0,0 +1,10 @@ +all: ALWAYS + @$(MAKE) -s -C ../../.. bgpd/rfp-example/librfp/librfp.a +%: ALWAYS + @$(MAKE) -s -C ../../.. bgpd/rfp-example/librfp/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/bgpd/rfp-example/librfp/Makefile.am b/bgpd/rfp-example/librfp/Makefile.am deleted file mode 100644 index fc66a40f00..0000000000 --- a/bgpd/rfp-example/librfp/Makefile.am +++ /dev/null @@ -1,40 +0,0 @@ -# -# This file has been modified by LabN Consulting, L.L.C. -# -# -## Process this file with automake to produce Makefile.in. - -if ENABLE_BGP_VNC -BGP_VNC_RFAPI_INC=-I$(top_srcdir)/bgpd/rfapi -BGP_VNC_RFP_LIBDIR=. -BGP_VNC_RFP_INCDIR=$(BGP_VNC_RFP_LIBDIR) -BGP_VNC_RFP_LIB=librfp.a -BGP_VNC_RFP_INC=-I$(BGP_VNC_RFP_INCDIR) - -librfp_a_SOURCES = \ - rfp_example.c - -librfp_a_INCLUDES = \ - rfp.h \ - rfp_internal.h - -else -BGP_VNC_RFAPI_INC= -BGP_VNC_RFAPI_SRC= -BGP_VNC_RFP_LIB= -BGP_VNC_RFP_INC= -endif - -AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib \ - -I$(top_builddir) -I$(top_builddir)/lib \ - $(BGP_VNC_RFAPI_INC) $(BGP_VNC_RFP_INC) -DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -INSTALL_SDATA=@INSTALL@ -m 600 - -AM_CFLAGS = $(PICFLAGS) -AM_LDFLAGS = $(PILDFLAGS) - -noinst_LIBRARIES = $(BGP_VNC_RFP_LIB) - -noinst_HEADERS = \ - $(librfp_a_INCLUDES) diff --git a/bgpd/rfp-example/librfp/subdir.am b/bgpd/rfp-example/librfp/subdir.am new file mode 100644 index 0000000000..254ab716d5 --- /dev/null +++ b/bgpd/rfp-example/librfp/subdir.am @@ -0,0 +1,17 @@ +# +# librfp +# + +if ENABLE_BGP_VNC +noinst_LIBRARIES += bgpd/rfp-example/librfp/librfp.a +RFPLDADD = bgpd/rfp-example/librfp/librfp.a +endif + +bgpd_rfp_example_librfp_librfp_a_SOURCES = \ + bgpd/rfp-example/librfp/rfp_example.c \ + # end + +noinst_HEADERS += \ + bgpd/rfp-example/librfp/rfp.h \ + bgpd/rfp-example/librfp/rfp_internal.h \ + # end diff --git a/bgpd/rfp-example/rfptest/Makefile b/bgpd/rfp-example/rfptest/Makefile new file mode 100644 index 0000000000..659a9ceb17 --- /dev/null +++ b/bgpd/rfp-example/rfptest/Makefile @@ -0,0 +1,10 @@ +all: ALWAYS + @$(MAKE) -s -C ../../.. bgpd/rfp-example/rfptest/rfptest +%: ALWAYS + @$(MAKE) -s -C ../../.. bgpd/rfp-example/rfptest/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/bgpd/rfp-example/rfptest/Makefile.am b/bgpd/rfp-example/rfptest/Makefile.am deleted file mode 100644 index f5db852dbb..0000000000 --- a/bgpd/rfp-example/rfptest/Makefile.am +++ /dev/null @@ -1,52 +0,0 @@ -# -# This file has been modified by LabN Consulting, L.L.C. -# -# -## Process this file with automake to produce Makefile.in. - -if ENABLE_BGP_VNC -BGP_VNC_RFAPI_INC=-I$(top_srcdir)/bgpd/rfapi -BGP_VNC_RFP_LIBDIR=../librfp -BGP_VNC_RFP_INCDIR=$(BGP_VNC_RFP_LIBDIR) -BGP_VNC_RFP_LIB=$(BGP_VNC_RFP_LIBDIR)/librfp.a -BGP_VNC_RFP_INC=-I$(BGP_VNC_RFP_INCDIR) - -rfptest_SOURCES = \ - rfptest.c - -rfptest_INCLUDES = \ - rfptest.h - - -RFPTEST_BIN = rfptest - -else -BGP_VNC_RFAPI_INC= -BGP_VNC_RFAPI_SRC= -BGP_VNC_RFP_LIB= -BGP_VNC_RFP_INC= -RFPTEST_BIN= -endif - -AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib \ - -I$(top_builddir) -I$(top_builddir)/lib \ - $(BGP_VNC_RFAPI_INC) $(BGP_VNC_RFP_INC) - -DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -INSTALL_SDATA=@INSTALL@ -m 600 - - -AM_CFLAGS = $(PICFLAGS) -AM_LDFLAGS = $(PILDFLAGS) - - -noinst_HEADERS = \ - $(rfptest_INCLUDES) - -noinst_LIBRARIES = -sbin_PROGRAMS = $(RFPTEST_BIN) - -examplesdir = $(exampledir) - -rfptest_LDADD = $(top_builddir)/lib/libfrr.la $(BGP_VNC_RFP_LIB) -dist_examples_DATA = diff --git a/bgpd/rfp-example/rfptest/subdir.am b/bgpd/rfp-example/rfptest/subdir.am new file mode 100644 index 0000000000..fa7c660116 --- /dev/null +++ b/bgpd/rfp-example/rfptest/subdir.am @@ -0,0 +1,20 @@ +# +# libtest +# + +if ENABLE_BGP_VNC +sbin_PROGRAMS += bgpd/rfp-example/rfptest/rfptest +endif + +bgpd_rfp_example_rfptest_rfptest_CFLAGS = -I$(top_srcdir)/bgpd/rfapi +bgpd_rfp_example_rfptest_rfptest_SOURCES = \ + bgpd/rfp-example/rfptest/rfptest.c \ + # end +noinst_HEADERS += \ + bgpd/rfp-example/rfptest/rfptest.h \ + # end + +bgpd_rfp_example_rfptest_rfptest_LDADD = \ + lib/libfrr.la \ + $(RFPLDADD) \ + # end diff --git a/bgpd/subdir.am b/bgpd/subdir.am new file mode 100644 index 0000000000..6ab63abea5 --- /dev/null +++ b/bgpd/subdir.am @@ -0,0 +1,221 @@ +# +# bgpd +# + +if BGPD +noinst_LIBRARIES += bgpd/libbgp.a +sbin_PROGRAMS += bgpd/bgpd +noinst_PROGRAMS += bgpd/bgp_btoa +dist_examples_DATA += \ + bgpd/bgpd.conf.sample \ + bgpd/bgpd.conf.sample2 \ + bgpd/bgpd.conf.vnc.sample \ + # end +vtysh_scan += \ + $(top_srcdir)/bgpd/bgp_bfd.c \ + $(top_srcdir)/bgpd/bgp_debug.c \ + $(top_srcdir)/bgpd/bgp_dump.c \ + $(top_srcdir)/bgpd/bgp_evpn_vty.c \ + $(top_srcdir)/bgpd/bgp_filter.c \ + $(top_srcdir)/bgpd/bgp_mplsvpn.c \ + $(top_srcdir)/bgpd/bgp_nexthop.c \ + $(top_srcdir)/bgpd/bgp_route.c \ + $(top_srcdir)/bgpd/bgp_routemap.c \ + $(top_srcdir)/bgpd/bgp_vty.c \ + $(top_srcdir)/bgpd/bgp_flowspec_vty.c \ + # end + +# can be loaded as DSO - always include for vtysh +vtysh_scan += $(top_srcdir)/bgpd/bgp_rpki.c + +if ENABLE_BGP_VNC +vtysh_scan += \ + $(top_srcdir)/bgpd/rfapi/bgp_rfapi_cfg.c \ + $(top_srcdir)/bgpd/rfapi/rfapi.c \ + $(top_srcdir)/bgpd/rfapi/rfapi_vty.c \ + $(top_srcdir)/bgpd/rfapi/vnc_debug.c \ + # end +endif +if SNMP +module_LTLIBRARIES += bgpd/bgpd_snmp.la +endif +if RPKI +module_LTLIBRARIES += bgpd/bgpd_rpki.la +endif +rstman8_DATA += $(MANBUILD)/bgpd.8 +endif + +bgpd_libbgp_a_SOURCES = \ + bgpd/bgp_advertise.c \ + bgpd/bgp_aspath.c \ + bgpd/bgp_attr.c \ + bgpd/bgp_attr_evpn.c \ + bgpd/bgp_bfd.c \ + bgpd/bgp_clist.c \ + bgpd/bgp_community.c \ + bgpd/bgp_damp.c \ + bgpd/bgp_debug.c \ + bgpd/bgp_dump.c \ + bgpd/bgp_ecommunity.c \ + bgpd/bgp_encap_tlv.c \ + bgpd/bgp_errors.c \ + bgpd/bgp_evpn.c \ + bgpd/bgp_evpn_vty.c \ + bgpd/bgp_filter.c \ + bgpd/bgp_flowspec.c \ + bgpd/bgp_flowspec_util.c \ + bgpd/bgp_flowspec_vty.c \ + bgpd/bgp_fsm.c \ + bgpd/bgp_io.c \ + bgpd/bgp_keepalives.c \ + bgpd/bgp_label.c \ + bgpd/bgp_labelpool.c \ + bgpd/bgp_lcommunity.c \ + bgpd/bgp_memory.c \ + bgpd/bgp_mpath.c \ + bgpd/bgp_mplsvpn.c \ + bgpd/bgp_network.c \ + bgpd/bgp_nexthop.c \ + bgpd/bgp_nht.c \ + bgpd/bgp_open.c \ + bgpd/bgp_packet.c \ + bgpd/bgp_pbr.c \ + bgpd/bgp_rd.c \ + bgpd/bgp_regex.c \ + bgpd/bgp_route.c \ + bgpd/bgp_routemap.c \ + bgpd/bgp_table.c \ + bgpd/bgp_updgrp.c \ + bgpd/bgp_updgrp_adv.c \ + bgpd/bgp_updgrp_packet.c \ + bgpd/bgp_vpn.c \ + bgpd/bgp_vty.c \ + bgpd/bgp_zebra.c \ + bgpd/bgpd.c \ + # end + +if ENABLE_BGP_VNC +bgpd_libbgp_a_SOURCES += \ + bgpd/rfapi/bgp_rfapi_cfg.c \ + bgpd/rfapi/rfapi_import.c \ + bgpd/rfapi/rfapi.c \ + bgpd/rfapi/rfapi_ap.c \ + bgpd/rfapi/rfapi_descriptor_rfp_utils.c \ + bgpd/rfapi/rfapi_encap_tlv.c \ + bgpd/rfapi/rfapi_nve_addr.c \ + bgpd/rfapi/rfapi_monitor.c \ + bgpd/rfapi/rfapi_rib.c \ + bgpd/rfapi/rfapi_vty.c \ + bgpd/rfapi/vnc_debug.c \ + bgpd/rfapi/vnc_export_bgp.c \ + bgpd/rfapi/vnc_export_table.c \ + bgpd/rfapi/vnc_import_bgp.c \ + bgpd/rfapi/vnc_zebra.c \ + # end +endif + +noinst_HEADERS += \ + bgpd/bgp_advertise.h \ + bgpd/bgp_aspath.h \ + bgpd/bgp_attr.h \ + bgpd/bgp_attr_evpn.h \ + bgpd/bgp_bfd.h \ + bgpd/bgp_clist.h \ + bgpd/bgp_community.h \ + bgpd/bgp_damp.h \ + bgpd/bgp_debug.h \ + bgpd/bgp_dump.h \ + bgpd/bgp_ecommunity.h \ + bgpd/bgp_encap_tlv.h \ + bgpd/bgp_encap_types.h \ + bgpd/bgp_errors.h \ + bgpd/bgp_evpn.h \ + bgpd/bgp_evpn_private.h \ + bgpd/bgp_evpn_vty.h \ + bgpd/bgp_filter.h \ + bgpd/bgp_flowspec.h \ + bgpd/bgp_flowspec_private.h \ + bgpd/bgp_flowspec_util.h \ + bgpd/bgp_fsm.h \ + bgpd/bgp_io.h \ + bgpd/bgp_keepalives.h \ + bgpd/bgp_label.h \ + bgpd/bgp_labelpool.h \ + bgpd/bgp_lcommunity.h \ + bgpd/bgp_memory.h \ + bgpd/bgp_mpath.h \ + bgpd/bgp_mplsvpn.h \ + bgpd/bgp_network.h \ + bgpd/bgp_nexthop.h \ + bgpd/bgp_nht.h \ + bgpd/bgp_open.h \ + bgpd/bgp_packet.h \ + bgpd/bgp_pbr.h \ + bgpd/bgp_rd.h \ + bgpd/bgp_regex.h \ + bgpd/bgp_route.h \ + bgpd/bgp_table.h \ + bgpd/bgp_updgrp.h \ + bgpd/bgp_vpn.h \ + bgpd/bgp_vty.h \ + bgpd/bgp_zebra.h \ + bgpd/bgpd.h \ + \ + bgpd/rfapi/bgp_rfapi_cfg.h \ + bgpd/rfapi/rfapi_import.h \ + bgpd/rfapi/rfapi.h \ + bgpd/rfapi/rfapi_ap.h \ + bgpd/rfapi/rfapi_backend.h \ + bgpd/rfapi/rfapi_descriptor_rfp_utils.h \ + bgpd/rfapi/rfapi_encap_tlv.h \ + bgpd/rfapi/rfapi_nve_addr.h \ + bgpd/rfapi/rfapi_monitor.h \ + bgpd/rfapi/rfapi_private.h \ + bgpd/rfapi/rfapi_rib.h \ + bgpd/rfapi/rfapi_vty.h \ + bgpd/rfapi/vnc_debug.h \ + bgpd/rfapi/vnc_export_bgp.h \ + bgpd/rfapi/vnc_export_table.h \ + bgpd/rfapi/vnc_import_bgp.h \ + bgpd/rfapi/vnc_zebra.h \ + bgpd/rfapi/vnc_export_bgp_p.h \ + bgpd/rfapi/vnc_import_bgp_p.h \ + bgpd/bgp_vnc_types.h \ + # end + +bgpd_bgpd_SOURCES = bgpd/bgp_main.c +bgpd_bgp_btoa_SOURCES = bgpd/bgp_btoa.c + +if ENABLE_BGP_VNC +bgpd_bgpd_SOURCES += bgpd/rfapi/rfapi_descriptor_rfp_utils.c +bgpd_bgpd_CFLAGS = -Irfapi -I@top_srcdir@/$(RFPINC) + +bgpd_bgp_btoa_SOURCES += bgpd/rfapi/rfapi_descriptor_rfp_utils.c +bgpd_bgp_btoa_CFLAGS = -Irfapi -I@top_srcdir@/$(RFPINC) +endif + +# RFPLDADD is set in bgpd/rfp-example/librfp/subdir.am +bgpd_bgpd_LDADD = bgpd/libbgp.a $(RFPLDADD) lib/libfrr.la @LIBCAP@ @LIBM@ +bgpd_bgp_btoa_LDADD = bgpd/libbgp.a $(RFPLDADD) lib/libfrr.la @LIBCAP@ @LIBM@ + +bgpd_bgpd_snmp_la_SOURCES = bgpd/bgp_snmp.c +bgpd_bgpd_snmp_la_CFLAGS = $(WERROR) $(SNMP_CFLAGS) -std=gnu99 +bgpd_bgpd_snmp_la_LDFLAGS = -avoid-version -module -shared -export-dynamic +bgpd_bgpd_snmp_la_LIBADD = lib/libfrrsnmp.la + +bgpd_bgpd_rpki_la_SOURCES = bgpd/bgp_rpki.c +bgpd_bgpd_rpki_la_CFLAGS = $(WERROR) $(RTRLIB_CFLAGS) +bgpd_bgpd_rpki_la_LDFLAGS = -avoid-version -module -shared -export-dynamic +bgpd_bgpd_rpki_la_LIBADD = $(RTRLIB_LIBS) + +bgpd/bgp_vty_clippy.c: $(CLIPPY_DEPS) +bgpd/bgp_vty.$(OBJEXT): bgpd/bgp_vty_clippy.c +bgpd/bgp_route_clippy.c: $(CLIPPY_DEPS) +bgpd/bgp_route.$(OBJEXT): bgpd/bgp_route_clippy.c +bgpd/bgp_debug_clippy.c: $(CLIPPY_DEPS) +bgpd/bgp_debug.$(OBJEXT): bgpd/bgp_debug_clippy.c +bgpd/bgp_rpki_clippy.c: $(CLIPPY_DEPS) +$(AUTOMAKE_DUMMY)bgpd/bgpd_bgpd_rpki_la-bgp_rpki.lo: bgpd/bgp_rpki_clippy.c +$(AUTOMAKE_DUMMY)bgpd/bgpd_rpki_la-bgp_rpki.lo: bgpd/bgp_rpki_clippy.c + +EXTRA_DIST += bgpd/BGP4-MIB.txt diff --git a/common.am b/common.am deleted file mode 100644 index 9c0c547811..0000000000 --- a/common.am +++ /dev/null @@ -1,61 +0,0 @@ -# -# Automake fragment intended to be shared by Makefile.am files in the -# tree. When used, should be included at the very top of the file. -# -AM_CPPFLAGS = @ASAN_FLAGS@ @TSAN_FLAGS@ @MSAN_FLAGS@ -AM_CFLAGS = @ASAN_FLAGS@ @TSAN_FLAGS@ @MSAN_FLAGS@ $(WERROR) - -AM_V_CLIPPY = $(am__v_CLIPPY_$(V)) -am__v_CLIPPY_ = $(am__v_CLIPPY_$(AM_DEFAULT_VERBOSITY)) -am__v_CLIPPY_0 = @echo " CLIPPY " $@; -am__v_CLIPPY_1 = - -CLIPPY_DEPS = $(HOSTTOOLS)lib/clippy $(top_srcdir)/python/clidef.py - -SUFFIXES = _clippy.c .proto .pb-c.c .pb-c.h .pb.h -.c_clippy.c: - @{ test -x $(top_builddir)/$(HOSTTOOLS)lib/clippy || $(MAKE) -C $(top_builddir)/$(HOSTTOOLS) lib/clippy; } - $(AM_V_CLIPPY) $(top_builddir)/$(HOSTTOOLS)lib/clippy $(top_srcdir)/python/clidef.py -o $@ $< - -## automake's "ylwrap" is a great piece of GNU software... not. -.l.c: - $(AM_V_LEX)$(am__skiplex) $(LEXCOMPILE) $< -.y.c: - $(AM_V_YACC)$(am__skipyacc) $(YACCCOMPILE) $< - - -if HAVE_PROTOBUF - -# Uncomment to use an non-system version of libprotobuf-c. -# -# Q_PROTOBUF_C_CLIENT_INCLUDES = -I$(top_srcdir)/third-party/protobuf-c/src -# Q_PROTOBUF_C_CLIENT_LDOPTS = $(top_builddir)/third-party/protobuf-c/src/libprotobuf-c.la - -Q_PROTOBUF_C_CLIENT_INCLUDES= -Q_PROTOBUF_C_CLIENT_LDOPTS=-lprotobuf-c - -Q_PROTOC=protoc -Q_PROTOC_C=protoc-c - -# Rules -.proto.pb.h: - $(Q_PROTOC) -I$(top_srcdir) --cpp_out=$(top_srcdir) $(top_srcdir)/$^ - -AM_V_PROTOC_C = $(am__v_PROTOC_C_$(V)) -am__v_PROTOC_C_ = $(am__v_PROTOC_C_$(AM_DEFAULT_VERBOSITY)) -am__v_PROTOC_C_0 = @echo " PROTOC_C" $@; -am__v_PROTOC_C_1 = - -.proto.pb-c.c: - $(AM_V_PROTOC_C)$(Q_PROTOC_C) -I$(top_srcdir) --c_out=$(top_srcdir) $(top_srcdir)/$^ -.pb-c.c.pb-c.h: - @/bin/true - -# -# Information about how to link to various libraries. -# -Q_FRR_PB_CLIENT_LDOPTS = $(top_srcdir)/qpb/libfrr_pb.la $(Q_PROTOBUF_C_CLIENT_LDOPTS) - -Q_FPM_PB_CLIENT_LDOPTS = $(top_srcdir)/fpm/libfrrfpm_pb.la $(Q_FRR_PB_CLIENT_LDOPTS) - -endif # HAVE_PROTOBUF diff --git a/configure.ac b/configure.ac index 4ab6b89d3e..521d27a682 100755 --- a/configure.ac +++ b/configure.ac @@ -394,8 +394,6 @@ AC_ARG_ENABLE(bgp-announce, AS_HELP_STRING([--disable-bgp-announce,], [turn off BGP route announcement])) AC_ARG_ENABLE(bgp-vnc, AS_HELP_STRING([--disable-bgp-vnc],[turn off BGP VNC support])) -AC_ARG_WITH(rfp-path, - AS_HELP_STRING([--with-rfp-path[=DIR]],[path to replaced stub RFP used with BGP VNC])) AC_ARG_ENABLE(snmp, AS_HELP_STRING([--enable-snmp], [enable SNMP support for agentx])) AC_ARG_ENABLE(zeromq, @@ -1451,33 +1449,12 @@ else AC_DEFINE(DISABLE_BGP_ANNOUNCE,0,Disable BGP installation to zebra) fi -if test "${with_rfp_path}" = "yes" || test x"${with_rfp_path}" = x""; then - with_rfp_path="bgpd/rfp-example" -fi -if test "${with_rfp_path}" != "no"; then - VNC_RFP_PATH="${with_rfp_path}" - AC_SUBST(VNC_RFP_PATH) -fi - if test "${enable_bgp_vnc}" != "no";then AC_DEFINE(ENABLE_BGP_VNC,1,Enable BGP VNC support) - RFPTEST="${with_rfp_path}/rfptest" - LIBRFP="${with_rfp_path}/librfp" - RFPINC="${with_rfp_path}/librfp" -else - RFPTEST= - LIBRFP= - RFPINC="bgpd/rfp-example/librfp" fi -# set AM_CONDITIONAL([ENABLE_BGP_VNC], [test x${enable_bgp_vnc} != xno]) -AC_SUBST(RFPTEST) -AC_SUBST(LIBRFP) -AC_SUBST(RFPINC) -AC_SUBST(BGPD) AC_SUBST(SOLARIS) -AC_SUBST(VTYSH) AC_SUBST(CURSES) AC_CHECK_LIB(crypt, crypt, [], [AC_CHECK_LIB(crypto, DES_crypt)]) @@ -1998,8 +1975,7 @@ dnl Enable RPKI and add librtr to libs dnl ------------------------------------ if test "${enable_rpki}" = "yes"; then PKG_CHECK_MODULES(RTRLIB,[rtrlib >= 0.5.0], - [AC_DEFINE(HAVE_RPKI,1,Enable RPKI prefix validation for BGP) - RPKI=true], + [RPKI=true], [RPKI=false AC_MSG_ERROR([rtrlib was not found on your system or is too old.])] ) @@ -2031,11 +2007,6 @@ AC_MSG_RESULT($ac_cv_htonl_works) AC_CONFIG_FILES([Makefile],[sed -e 's/^#AUTODERP# //' -i Makefile]) AC_CONFIG_FILES([ - bgpd/Makefile - vtysh/Makefile - tests/Makefile - bgpd/rfp-example/rfptest/Makefile - bgpd/rfp-example/librfp/Makefile redhat/frr.spec solaris/Makefile debianpkg/changelog @@ -2047,12 +2018,6 @@ AC_CONFIG_FILES([ pkgsrc/ripd.sh pkgsrc/ripngd.sh pkgsrc/zebra.sh pkgsrc/eigrpd.sh]) -if test "${enable_bgp_vnc}" != "no"; then - if test "${with_rfp_path}" != "bgpd/rfp-example" ; then - AC_CONFIG_FILES([${with_rfp_path}/rfptest/Makefile ${with_rfp_path}/librfp/Makefile]) - fi -fi - AC_CONFIG_FILES([vtysh/extract.pl],[chmod +x vtysh/extract.pl]) AC_CONFIG_COMMANDS([lib/route_types.h], [ diff --git a/doc/.gitignore b/doc/.gitignore index d99a6a5b2d..fa2b508321 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,4 +1,3 @@ -!Makefile mdate-sh draft-zebra-00.txt *.pdf @@ -6,7 +5,6 @@ draft-zebra-00.txt frr.ps frr.dvi stamp-vti -.nfs* *.aux *.cp *.cps @@ -20,8 +18,4 @@ stamp-vti *.toc *.tp *.vr -.arch-inventory -.arch-ids -*~ -*.loT refix diff --git a/doc/developer/cli.rst b/doc/developer/cli.rst index 20391c47bc..c0716a5c93 100644 --- a/doc/developer/cli.rst +++ b/doc/developer/cli.rst @@ -450,8 +450,6 @@ is no ordering requirement) .. code-block:: make - include ../common.am - # ... # if linked into a LTLIBRARY (.la/.so): diff --git a/doc/manpages/subdir.am b/doc/manpages/subdir.am index 20efd523fc..0ce9161db6 100644 --- a/doc/manpages/subdir.am +++ b/doc/manpages/subdir.am @@ -49,79 +49,6 @@ rstman8_DATA = rstman1_DATA += $(MANBUILD)/frr.1 -if PIMD -rstman8_DATA += $(MANBUILD)/pimd.8 -rstman8_DATA += $(MANBUILD)/mtracebis.8 -endif - -if PBRD -rstman8_DATA += $(MANBUILD)/pbrd.8 -endif - -if BGPD -rstman8_DATA += $(MANBUILD)/bgpd.8 -endif - -if ISISD -rstman8_DATA += $(MANBUILD)/isisd.8 -endif - -if OSPF6D -rstman8_DATA += $(MANBUILD)/ospf6d.8 -endif - -if OSPFCLIENT -rstman8_DATA += $(MANBUILD)/ospfclient.8 -endif - -if OSPFD -rstman8_DATA += $(MANBUILD)/ospfd.8 -endif - -if LDPD -rstman8_DATA += $(MANBUILD)/ldpd.8 -endif - -if RIPD -rstman8_DATA += $(MANBUILD)/ripd.8 -endif - -if RIPNGD -rstman8_DATA += $(MANBUILD)/ripngd.8 -endif - -if NHRPD -rstman8_DATA += $(MANBUILD)/nhrpd.8 -endif - -if VTYSH -rstman1_DATA += $(MANBUILD)/vtysh.1 -endif - -if WATCHFRR -rstman8_DATA += $(MANBUILD)/watchfrr.8 -endif - -if ZEBRA -rstman8_DATA += $(MANBUILD)/zebra.8 -endif - -if EIGRPD -rstman8_DATA += $(MANBUILD)/eigrpd.8 -endif - -if SHARPD -rstman8_DATA += $(MANBUILD)/sharpd.8 -endif - -if STATICD -rstman8_DATA += $(MANBUILD)/staticd.8 -endif - -if BFDD -rstman8_DATA += $(MANBUILD)/bfdd.8 -endif - # dependency $(rstman8_DATA) $(rstman1_DATA): $(MANBUILD)/man.stamp diff --git a/doc/mpls/.gitignore b/doc/mpls/.gitignore deleted file mode 100644 index b0a4a4619f..0000000000 --- a/doc/mpls/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.arch-ids -.arch-inventory -*~ -*.loT - diff --git a/eigrpd/.gitignore b/eigrpd/.gitignore index 5b72399e72..0303c6f0d4 100644 --- a/eigrpd/.gitignore +++ b/eigrpd/.gitignore @@ -1,18 +1,2 @@ -!Makefile -Makefile.in -*.o -*.a eigrpd eigrpd.conf -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT - diff --git a/eigrpd/subdir.am b/eigrpd/subdir.am index 2635d555d9..75b77feee6 100644 --- a/eigrpd/subdir.am +++ b/eigrpd/subdir.am @@ -6,6 +6,12 @@ if EIGRPD noinst_LIBRARIES += eigrpd/libeigrp.a sbin_PROGRAMS += eigrpd/eigrpd dist_examples_DATA += eigrpd/eigrpd.conf.sample +vtysh_scan += \ + $(top_srcdir)/eigrpd/eigrp_dump.c \ + $(top_srcdir)/eigrpd/eigrp_vty.c \ + # end +# $(top_srcdir)/eigrpd/eigrp_routemap.c +rstman8_DATA += $(MANBUILD)/eigrpd.8 endif eigrpd_libeigrp_a_SOURCES = \ diff --git a/fpm/.gitignore b/fpm/.gitignore deleted file mode 100644 index 17e90443e9..0000000000 --- a/fpm/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -!Makefile -Makefile.in -*.o -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.a -*.libs -.arch-inventory -.arch-ids -*~ -*.loT diff --git a/init/.gitignore b/init/.gitignore deleted file mode 100644 index 30b4bc99ec..0000000000 --- a/init/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -Makefile -Makefile.in -.nfs* -*~ -*.loT - diff --git a/isisd/.gitignore b/isisd/.gitignore index 865cc38253..b6184ca0f5 100644 --- a/isisd/.gitignore +++ b/isisd/.gitignore @@ -1,16 +1,3 @@ -!Makefile -Makefile.in -*.o isisd fabricd -.deps isisd.conf -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT -*.a diff --git a/isisd/subdir.am b/isisd/subdir.am index a45b9ca47c..855cd9dc54 100644 --- a/isisd/subdir.am +++ b/isisd/subdir.am @@ -6,6 +6,16 @@ if ISISD noinst_LIBRARIES += isisd/libisis.a sbin_PROGRAMS += isisd/isisd dist_examples_DATA += isisd/isisd.conf.sample +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/isis_vty_isisd.c \ + $(top_srcdir)/isisd/isisd.c \ + # end +rstman8_DATA += $(MANBUILD)/isisd.8 endif if FABRICD diff --git a/ldpd/.gitignore b/ldpd/.gitignore index a2f4b51698..ec8a5c4086 100644 --- a/ldpd/.gitignore +++ b/ldpd/.gitignore @@ -1,17 +1,2 @@ -!Makefile -Makefile.in -*.o ldpd ldpd.conf -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.a -*.libs -.arch-inventory -.arch-ids -*~ -*.loT diff --git a/ldpd/subdir.am b/ldpd/subdir.am index 2d87be0cda..b42f401f25 100644 --- a/ldpd/subdir.am +++ b/ldpd/subdir.am @@ -6,6 +6,8 @@ if LDPD noinst_LIBRARIES += ldpd/libldp.a sbin_PROGRAMS += ldpd/ldpd dist_examples_DATA += ldpd/ldpd.conf.sample +vtysh_scan += $(top_srcdir)/ldpd/ldp_vty_cmds.c +rstman8_DATA += $(MANBUILD)/ldpd.8 endif ldpd_libldp_a_SOURCES = \ diff --git a/lib/.gitignore b/lib/.gitignore index 072146dbd5..6176b30f8d 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -1,26 +1,13 @@ -!Makefile -Makefile.in -*.o -*.lo -*.la -version.c -version.h -gitversion.h -gitversion.h.tmp -.deps -.nfs* -.libs -.arch-inventory -.arch-ids -*~ -*.loT -route_types.h -memtypes.h -command_lex.c -command_lex.h -command_parse.c -command_parse.h -refix -grammar_sandbox -clippy -defun_lex.c +/version.c +/version.h +/gitversion.h +/gitversion.h.tmp +/route_types.h +/memtypes.h +/command_lex.c +/command_lex.h +/command_parse.c +/command_parse.h +/grammar_sandbox +/clippy +/defun_lex.c diff --git a/lib/subdir.am b/lib/subdir.am index d3bd441a80..09deb9bc1b 100644 --- a/lib/subdir.am +++ b/lib/subdir.am @@ -84,6 +84,22 @@ lib_libfrr_la_SOURCES = \ lib/logicalrouter.c \ # end +vtysh_scan += \ + $(top_srcdir)/lib/distribute.c \ + $(top_srcdir)/lib/filter.c \ + $(top_srcdir)/lib/if.c \ + $(top_srcdir)/lib/if_rmap.c \ + $(top_srcdir)/lib/keychain.c \ + $(top_srcdir)/lib/logicalrouter.c \ + $(top_srcdir)/lib/nexthop_group.c \ + $(top_srcdir)/lib/plist.c \ + $(top_srcdir)/lib/routemap.c \ + $(top_srcdir)/lib/vrf.c \ + $(top_srcdir)/lib/vty.c \ + # end +# can be loaded as DSO - always include for vtysh +vtysh_scan += $(top_srcdir)/lib/agentx.c + lib/plist_clippy.c: $(CLIPPY_DEPS) lib/plist.lo: lib/plist_clippy.c lib/nexthop_group_clippy.c: $(CLIPPY_DEPS) @@ -253,6 +269,26 @@ lib_clippy_SOURCES = \ lib/vector.c \ # end +# (global) clippy rules for all directories + +AM_V_CLIPPY = $(am__v_CLIPPY_$(V)) +am__v_CLIPPY_ = $(am__v_CLIPPY_$(AM_DEFAULT_VERBOSITY)) +am__v_CLIPPY_0 = @echo " CLIPPY " $@; +am__v_CLIPPY_1 = + +CLIPPY_DEPS = $(HOSTTOOLS)lib/clippy $(top_srcdir)/python/clidef.py + +SUFFIXES = _clippy.c .proto .pb-c.c .pb-c.h .pb.h +.c_clippy.c: + @{ test -x $(top_builddir)/$(HOSTTOOLS)lib/clippy || \ + $(MAKE) -C $(top_builddir)/$(HOSTTOOLS) lib/clippy; } + $(AM_V_CLIPPY) $(top_builddir)/$(HOSTTOOLS)lib/clippy $(top_srcdir)/python/clidef.py -o $@ $< + +## automake's "ylwrap" is a great piece of GNU software... not. +.l.c: + $(AM_V_LEX)$(am__skiplex) $(LEXCOMPILE) $< +.y.c: + $(AM_V_YACC)$(am__skipyacc) $(YACCCOMPILE) $< # # generated sources & extra foo diff --git a/m4/.gitignore b/m4/.gitignore index 798188b0b9..357e65588d 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -1,8 +1,8 @@ -Makefile -Makefile.in -.arch-inventory -.arch-ids -*~ -*.loT +*.m4 + +!ax_compare_version.m4 +!ax_prog_perl_modules.m4 !ax_pthread.m4 !ax_sys_weak_alias.m4 +!ax_sys_weak_alias.m4 +!pkg.m4 diff --git a/nhrpd/.gitignore b/nhrpd/.gitignore index 3f47381278..3d4d56d589 100644 --- a/nhrpd/.gitignore +++ b/nhrpd/.gitignore @@ -1,2 +1 @@ -!Makefile nhrpd diff --git a/nhrpd/subdir.am b/nhrpd/subdir.am index d66e968224..f7575971e9 100644 --- a/nhrpd/subdir.am +++ b/nhrpd/subdir.am @@ -4,6 +4,8 @@ if NHRPD sbin_PROGRAMS += nhrpd/nhrpd +vtysh_scan += $(top_srcdir)/nhrpd/nhrp_vty.c +rstman8_DATA += $(MANBUILD)/nhrpd.8 endif nhrpd_nhrpd_LDADD = lib/libfrr.la @LIBCAP@ @CARES_LIBS@ diff --git a/ospf6d/.gitignore b/ospf6d/.gitignore index 744af2d5ce..e398b1ca58 100644 --- a/ospf6d/.gitignore +++ b/ospf6d/.gitignore @@ -1,18 +1,2 @@ -!Makefile -Makefile.in -*.o -*.patch ospf6d ospf6d.conf -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT -*.a diff --git a/ospf6d/subdir.am b/ospf6d/subdir.am index 8a6c4a5ccf..5338e1ea37 100644 --- a/ospf6d/subdir.am +++ b/ospf6d/subdir.am @@ -6,9 +6,27 @@ if OSPF6D noinst_LIBRARIES += ospf6d/libospf6.a sbin_PROGRAMS += ospf6d/ospf6d dist_examples_DATA += ospf6d/ospf6d.conf.sample +vtysh_scan += \ + $(top_srcdir)/ospf6d/ospf6_abr.c \ + $(top_srcdir)/ospf6d/ospf6_asbr.c \ + $(top_srcdir)/ospf6d/ospf6_area.c \ + $(top_srcdir)/ospf6d/ospf6_bfd.c \ + $(top_srcdir)/ospf6d/ospf6_flood.c \ + $(top_srcdir)/ospf6d/ospf6_interface.c \ + $(top_srcdir)/ospf6d/ospf6_intra.c \ + $(top_srcdir)/ospf6d/ospf6_lsa.c \ + $(top_srcdir)/ospf6d/ospf6_message.c \ + $(top_srcdir)/ospf6d/ospf6_neighbor.c \ + $(top_srcdir)/ospf6d/ospf6_route.c \ + $(top_srcdir)/ospf6d/ospf6_spf.c \ + $(top_srcdir)/ospf6d/ospf6_top.c \ + $(top_srcdir)/ospf6d/ospf6_zebra.c \ + $(top_srcdir)/ospf6d/ospf6d.c \ + # end if SNMP module_LTLIBRARIES += ospf6d/ospf6d_snmp.la endif +rstman8_DATA += $(MANBUILD)/ospf6d.8 endif ospf6d_libospf6_a_SOURCES = \ diff --git a/ospfclient/.gitignore b/ospfclient/.gitignore index 1740b04fbc..9be70451f0 100644 --- a/ospfclient/.gitignore +++ b/ospfclient/.gitignore @@ -1,16 +1 @@ -!Makefile -Makefile.in -*.o ospfclient -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT -refix diff --git a/ospfclient/subdir.am b/ospfclient/subdir.am index 834d4aaba7..d880f9fc70 100644 --- a/ospfclient/subdir.am +++ b/ospfclient/subdir.am @@ -5,6 +5,7 @@ if OSPFCLIENT lib_LTLIBRARIES += ospfclient/libfrrospfapiclient.la sbin_PROGRAMS += ospfclient/ospfclient +rstman8_DATA += $(MANBUILD)/ospfclient.8 endif ospfclient_libfrrospfapiclient_la_LDFLAGS = -version-info 0:0:0 diff --git a/ospfd/.gitignore b/ospfd/.gitignore index 752c875a62..fc65db33ee 100644 --- a/ospfd/.gitignore +++ b/ospfd/.gitignore @@ -1,17 +1,2 @@ -!Makefile -Makefile.in -*.o ospfd ospfd.conf -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT -*.a diff --git a/ospfd/subdir.am b/ospfd/subdir.am index cd659a9bc9..2b42b5230b 100644 --- a/ospfd/subdir.am +++ b/ospfd/subdir.am @@ -6,9 +6,20 @@ if OSPFD noinst_LIBRARIES += ospfd/libfrrospf.a sbin_PROGRAMS += ospfd/ospfd dist_examples_DATA += ospfd/ospfd.conf.sample +vtysh_scan += \ + $(top_srcdir)/ospfd/ospf_bfd.c \ + $(top_srcdir)/ospfd/ospf_dump.c \ + $(top_srcdir)/ospfd/ospf_opaque.c \ + $(top_srcdir)/ospfd/ospf_ri.c \ + $(top_srcdir)/ospfd/ospf_routemap.c \ + $(top_srcdir)/ospfd/ospf_te.c \ + $(top_srcdir)/ospfd/ospf_sr.c \ + $(top_srcdir)/ospfd/ospf_vty.c \ + # end if SNMP module_LTLIBRARIES += ospfd/ospfd_snmp.la endif +rstman8_DATA += $(MANBUILD)/ospfd.8 endif ospfd_libfrrospf_a_SOURCES = \ diff --git a/pbrd/.gitignore b/pbrd/.gitignore index ff95d88527..86622ea174 100644 --- a/pbrd/.gitignore +++ b/pbrd/.gitignore @@ -1,15 +1 @@ -!Makefile -Makefile.in -libpbr.a pbrd -tags -TAGS -.deps -*.o -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT diff --git a/pbrd/subdir.am b/pbrd/subdir.am index 42ab393218..49a07e1f60 100644 --- a/pbrd/subdir.am +++ b/pbrd/subdir.am @@ -6,6 +6,11 @@ if PBRD noinst_LIBRARIES += pbrd/libpbr.a sbin_PROGRAMS += pbrd/pbrd dist_examples_DATA += pbrd/pbrd.conf.sample +vtysh_scan += \ + $(top_srcdir)/pbrd/pbr_vty.c \ + $(top_srcdir)/pbrd/pbr_debug.c \ + # end +rstman8_DATA += $(MANBUILD)/pbrd.8 endif pbrd_libpbr_a_SOURCES = \ diff --git a/pimd/.gitignore b/pimd/.gitignore index 1f56cfaecd..b1780df758 100644 --- a/pimd/.gitignore +++ b/pimd/.gitignore @@ -1,17 +1,3 @@ -!Makefile -Makefile.in -libpim.a pimd mtracebis test_igmpv3_join -tags -TAGS -.deps -*.o -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT diff --git a/pimd/subdir.am b/pimd/subdir.am index 55d56ece97..00cabb99b0 100644 --- a/pimd/subdir.am +++ b/pimd/subdir.am @@ -8,6 +8,9 @@ sbin_PROGRAMS += pimd/pimd bin_PROGRAMS += pimd/mtracebis noinst_PROGRAMS += pimd/test_igmpv3_join dist_examples_DATA += pimd/pimd.conf.sample +vtysh_scan += $(top_srcdir)/pimd/pim_cmd.c +rstman8_DATA += $(MANBUILD)/pimd.8 +rstman8_DATA += $(MANBUILD)/mtracebis.8 endif pimd_libpim_a_SOURCES = \ diff --git a/pkgsrc/.gitignore b/pkgsrc/.gitignore index 63e9a66d8f..c97f963b3d 100644 --- a/pkgsrc/.gitignore +++ b/pkgsrc/.gitignore @@ -1,8 +1 @@ -Makefile -Makefile.in *.sh -.arch-inventory -.arch-ids -*~ -*.loT - diff --git a/ports/.gitignore b/ports/.gitignore deleted file mode 100644 index dd5bf7c67c..0000000000 --- a/ports/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.arch-inventory -.arch-ids - -*~ -*.loT - diff --git a/ports/files/.gitignore b/ports/files/.gitignore deleted file mode 100644 index dd5bf7c67c..0000000000 --- a/ports/files/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.arch-inventory -.arch-ids - -*~ -*.loT - diff --git a/ports/pkg/.gitignore b/ports/pkg/.gitignore deleted file mode 100644 index dd5bf7c67c..0000000000 --- a/ports/pkg/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.arch-inventory -.arch-ids - -*~ -*.loT - diff --git a/qpb/.gitignore b/qpb/.gitignore deleted file mode 100644 index 17e90443e9..0000000000 --- a/qpb/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -!Makefile -Makefile.in -*.o -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.a -*.libs -.arch-inventory -.arch-ids -*~ -*.loT diff --git a/qpb/subdir.am b/qpb/subdir.am index 3c006fd221..0ed50c01be 100644 --- a/qpb/subdir.am +++ b/qpb/subdir.am @@ -23,3 +23,39 @@ CLEANFILES += \ endif EXTRA_DIST += qpb/qpb.proto + +if HAVE_PROTOBUF + +# Uncomment to use an non-system version of libprotobuf-c. +# +# Q_PROTOBUF_C_CLIENT_INCLUDES = -I$(top_srcdir)/third-party/protobuf-c/src +# Q_PROTOBUF_C_CLIENT_LDOPTS = $(top_builddir)/third-party/protobuf-c/src/libprotobuf-c.la + +Q_PROTOBUF_C_CLIENT_INCLUDES= +Q_PROTOBUF_C_CLIENT_LDOPTS=-lprotobuf-c + +Q_PROTOC=protoc +Q_PROTOC_C=protoc-c + +# Rules +.proto.pb.h: + $(Q_PROTOC) -I$(top_srcdir) --cpp_out=$(top_srcdir) $(top_srcdir)/$^ + +AM_V_PROTOC_C = $(am__v_PROTOC_C_$(V)) +am__v_PROTOC_C_ = $(am__v_PROTOC_C_$(AM_DEFAULT_VERBOSITY)) +am__v_PROTOC_C_0 = @echo " PROTOC_C" $@; +am__v_PROTOC_C_1 = + +.proto.pb-c.c: + $(AM_V_PROTOC_C)$(Q_PROTOC_C) -I$(top_srcdir) --c_out=$(top_srcdir) $(top_srcdir)/$^ +.pb-c.c.pb-c.h: + @/bin/true + +# +# Information about how to link to various libraries. +# +Q_FRR_PB_CLIENT_LDOPTS = $(top_srcdir)/qpb/libfrr_pb.la $(Q_PROTOBUF_C_CLIENT_LDOPTS) + +Q_FPM_PB_CLIENT_LDOPTS = $(top_srcdir)/fpm/libfrrfpm_pb.la $(Q_FRR_PB_CLIENT_LDOPTS) + +endif # HAVE_PROTOBUF diff --git a/redhat/.gitignore b/redhat/.gitignore index a38f1c06e3..15804cea0f 100644 --- a/redhat/.gitignore +++ b/redhat/.gitignore @@ -1,10 +1,2 @@ zebra.spec frr.spec -Makefile -Makefile.in -.nfs* -.arch-inventory -.arch-ids -*~ -*.loT - diff --git a/ripd/.gitignore b/ripd/.gitignore index 177250ca61..f149501d61 100644 --- a/ripd/.gitignore +++ b/ripd/.gitignore @@ -1,17 +1,2 @@ -!Makefile -Makefile.in -*.o ripd ripd.conf -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT -*.a diff --git a/ripd/subdir.am b/ripd/subdir.am index 612db1a7ab..f2c54c835e 100644 --- a/ripd/subdir.am +++ b/ripd/subdir.am @@ -6,9 +6,18 @@ if RIPD noinst_LIBRARIES += ripd/librip.a sbin_PROGRAMS += ripd/ripd dist_examples_DATA += ripd/ripd.conf.sample +vtysh_scan += \ + $(top_srcdir)/ripd/rip_debug.c \ + $(top_srcdir)/ripd/rip_interface.c \ + $(top_srcdir)/ripd/rip_offset.c \ + $(top_srcdir)/ripd/rip_zebra.c \ + $(top_srcdir)/ripd/ripd.c \ + # end + if SNMP module_LTLIBRARIES += ripd/ripd_snmp.la endif +rstman8_DATA += $(MANBUILD)/ripd.8 endif ripd_librip_a_SOURCES = \ diff --git a/ripngd/.gitignore b/ripngd/.gitignore index 213384d139..e6a8ee6be2 100644 --- a/ripngd/.gitignore +++ b/ripngd/.gitignore @@ -1,17 +1,2 @@ -!Makefile -Makefile.in -*.o ripngd ripngd.conf -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT -*.a diff --git a/ripngd/subdir.am b/ripngd/subdir.am index 1f7ff09d6e..0948b23342 100644 --- a/ripngd/subdir.am +++ b/ripngd/subdir.am @@ -5,6 +5,14 @@ if RIPNGD noinst_LIBRARIES += ripngd/libripng.a sbin_PROGRAMS += ripngd/ripngd +vtysh_scan += \ + $(top_srcdir)/ripngd/ripng_debug.c \ + $(top_srcdir)/ripngd/ripng_interface.c \ + $(top_srcdir)/ripngd/ripng_offset.c \ + $(top_srcdir)/ripngd/ripng_zebra.c \ + $(top_srcdir)/ripngd/ripngd.c \ + # end +rstman8_DATA += $(MANBUILD)/ripngd.8 endif ripngd_libripng_a_SOURCES = \ diff --git a/sharpd/.gitignore b/sharpd/.gitignore index cc33cfc188..91b9f2e902 100644 --- a/sharpd/.gitignore +++ b/sharpd/.gitignore @@ -1,17 +1,2 @@ -Makefile -Makefile.in -*.o -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.a -*.libs -.arch-inventory -.arch-ids -*~ -*.loT sharpd sharpd.conf diff --git a/sharpd/subdir.am b/sharpd/subdir.am index 490a2ba787..ecc62af142 100644 --- a/sharpd/subdir.am +++ b/sharpd/subdir.am @@ -6,6 +6,8 @@ if SHARPD noinst_LIBRARIES += sharpd/libsharp.a sbin_PROGRAMS += sharpd/sharpd dist_examples_DATA += sharpd/sharpd.conf.sample +vtysh_scan += $(top_srcdir)/sharpd/sharp_vty.c +rstman8_DATA += $(MANBUILD)/sharpd.8 endif sharpd_libsharp_a_SOURCES = \ diff --git a/snapcraft/.gitignore b/snapcraft/.gitignore index ac7860290b..a4796fd730 100644 --- a/snapcraft/.gitignore +++ b/snapcraft/.gitignore @@ -3,4 +3,3 @@ parts prime stage frr*.snap -!*/Makefile diff --git a/solaris/.gitignore b/solaris/.gitignore index a249b61996..3f1a0385a4 100644 --- a/solaris/.gitignore +++ b/solaris/.gitignore @@ -17,6 +17,3 @@ depend.smf frr.init *.pkg *.pkg.gz -*~ -*.loT -*.a diff --git a/staticd/subdir.am b/staticd/subdir.am index 3b06a92e22..f1071545ab 100644 --- a/staticd/subdir.am +++ b/staticd/subdir.am @@ -6,6 +6,8 @@ if STATICD noinst_LIBRARIES += staticd/libstatic.a sbin_PROGRAMS += staticd/staticd dist_examples_DATA += staticd/staticd.conf.sample +vtysh_scan += $(top_srcdir)/staticd/static_vty.c +rstman8_DATA += $(MANBUILD)/staticd.8 endif staticd_libstatic_a_SOURCES = \ diff --git a/tests/.gitignore b/tests/.gitignore index c8368b39b6..37cd245de0 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,24 +1,6 @@ -Makefile -Makefile.in -*.o -tags -TAGS -.cache -.deps -.nfs* -*~ -*.loT -*.lo -*.la -*.libs -*.bak *.log *.sum *.xml -*.pyc -.arch-inventory -.arch-ids -__pycache__ .pytest_cache /bgpd/test_aspath /bgpd/test_bgp_table diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 0000000000..dd4594febe --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,10 @@ +all: ALWAYS + @$(MAKE) -s -C .. check +%: ALWAYS + @$(MAKE) -s -C .. tests/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/tests/Makefile.am b/tests/Makefile.am deleted file mode 100644 index a7dec67348..0000000000 --- a/tests/Makefile.am +++ /dev/null @@ -1,235 +0,0 @@ -include ../common.am - -PYTHON ?= python - -AUTOMAKE_OPTIONS = subdir-objects -AM_CPPFLAGS += \ - -I.. \ - -I$(top_srcdir) \ - -I$(top_srcdir)/lib \ - -I$(top_builddir)/lib \ - -I$(top_srcdir)/tests/helpers/c \ - -I$(top_builddir)/tests/helpers/c \ - -O -DEFS = @DEFS@ $(LOCAL_OPTS) -DSYSCONFDIR=\"$(sysconfdir)/\" - -if BGPD -TESTS_BGPD = \ - bgpd/test_aspath \ - bgpd/test_capability \ - bgpd/test_packet \ - bgpd/test_peer_attr \ - bgpd/test_ecommunity \ - bgpd/test_mp_attr \ - bgpd/test_mpath \ - bgpd/test_bgp_table -else -TESTS_BGPD = -endif - -if ISISD -if SOLARIS -TESTS_ISISD = -else -TESTS_ISISD = \ - isisd/test_fuzz_isis_tlv \ - isisd/test_isis_vertex_queue \ - # end -endif -else -TESTS_ISISD = -endif - -if OSPF6D -TESTS_OSPF6D = \ - ospf6d/test_lsdb \ - # end -else -TESTS_OSPF6D = -endif - -if ENABLE_BGP_VNC -BGP_VNC_RFP_LIB=@top_builddir@/$(LIBRFP)/librfp.a -else -BGP_VNC_RFP_LIB = -endif - -lib/cli/test_cli.o: lib/cli/test_cli_clippy.c -ospf6d/test_lsdb.o: ospf6d/test_lsdb_clippy.c - -check_PROGRAMS = \ - lib/test_buffer \ - lib/test_checksum \ - lib/test_heavy_thread \ - lib/test_heavy_wq \ - lib/test_heavy \ - lib/test_memory \ - lib/test_nexthop_iter \ - lib/test_privs \ - lib/test_ringbuf \ - lib/test_srcdest_table \ - lib/test_segv \ - lib/test_sig \ - lib/test_stream \ - lib/test_table \ - lib/test_timer_correctness \ - lib/test_timer_performance \ - lib/test_ttable \ - lib/test_zlog \ - lib/test_graph \ - lib/cli/test_cli \ - lib/cli/test_commands \ - $(TESTS_BGPD) \ - $(TESTS_ISISD) \ - $(TESTS_OSPF6D) \ - # end - -if ZEROMQ -check_PROGRAMS += \ - lib/test_zmq \ - # end -endif - -../vtysh/vtysh_cmd.c: - $(MAKE) -C ../vtysh vtysh_cmd.c - -lib/cli/test_commands_defun.c: ../vtysh/vtysh_cmd.c - sed \ - -e 's/"vtysh\.h"/"tests.h"/' \ - -e 's/vtysh_init_cmd/test_init_cmd/' \ - -e 's/VTYSH_[A-Z][A-Z_0-9]*/0/g' \ - < ../vtysh/vtysh_cmd.c \ - > "$@" - -isisd/test_fuzz_isis_tlv_tests.h: $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz - gzip -d < $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz > "$@" - -noinst_HEADERS = \ - ./helpers/c/prng.h \ - ./helpers/c/tests.h \ - ./lib/cli/common_cli.h - -lib_test_buffer_SOURCES = lib/test_buffer.c -lib_test_checksum_SOURCES = lib/test_checksum.c -lib_test_heavy_thread_SOURCES = lib/test_heavy_thread.c helpers/c/main.c -lib_test_heavy_wq_SOURCES = lib/test_heavy_wq.c helpers/c/main.c -lib_test_heavy_SOURCES = lib/test_heavy.c helpers/c/main.c -lib_test_memory_SOURCES = lib/test_memory.c -lib_test_nexthop_iter_SOURCES = lib/test_nexthop_iter.c helpers/c/prng.c -lib_test_privs_SOURCES = lib/test_privs.c -lib_test_ringbuf_SOURCES = lib/test_ringbuf.c -lib_test_srcdest_table_SOURCES = lib/test_srcdest_table.c \ - helpers/c/prng.c -lib_test_segv_SOURCES = lib/test_segv.c -lib_test_sig_SOURCES = lib/test_sig.c -lib_test_stream_SOURCES = lib/test_stream.c -lib_test_table_SOURCES = lib/test_table.c -lib_test_timer_correctness_SOURCES = lib/test_timer_correctness.c \ - helpers/c/prng.c -lib_test_timer_performance_SOURCES = lib/test_timer_performance.c \ - helpers/c/prng.c -lib_test_ttable_SOURCES = lib/test_ttable.c -lib_test_zlog_SOURCES = lib/test_zlog.c -lib_test_graph_SOURCES = lib/test_graph.c -lib_test_zmq_SOURCES = lib/test_zmq.c -lib_test_zmq_CFLAGS = $(AM_CFLAGS) $(ZEROMQ_CFLAGS) -lib_cli_test_cli_SOURCES = lib/cli/test_cli.c lib/cli/common_cli.c -lib_cli_test_commands_SOURCES = lib/cli/test_commands_defun.c \ - lib/cli/test_commands.c \ - helpers/c/prng.c -bgpd_test_aspath_SOURCES = bgpd/test_aspath.c -bgpd_test_capability_SOURCES = bgpd/test_capability.c -bgpd_test_packet_SOURCES = bgpd/test_packet.c -bgpd_test_peer_attr_SOURCES = bgpd/test_peer_attr.c -bgpd_test_ecommunity_SOURCES = bgpd/test_ecommunity.c -bgpd_test_mp_attr_SOURCES = bgpd/test_mp_attr.c -bgpd_test_mpath_SOURCES = bgpd/test_mpath.c -bgpd_test_bgp_table_SOURCES = bgpd/test_bgp_table.c -isisd_test_fuzz_isis_tlv_SOURCES = isisd/test_fuzz_isis_tlv.c -nodist_isisd_test_fuzz_isis_tlv_SOURCES = isisd/test_fuzz_isis_tlv_tests.h -BUILT_SOURCES=isisd/test_fuzz_isis_tlv_tests.h -CLEANFILES=isisd/test_fuzz_isis_tlv_tests.h -isisd_test_fuzz_isis_tlv_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/tests/isisd -isisd_test_isis_vertex_queue_SOURCES = isisd/test_isis_vertex_queue.c - -ospf6d_test_lsdb_SOURCES = ospf6d/test_lsdb.c lib/cli/common_cli.c - -ALL_TESTS_LDADD = ../lib/libfrr.la @LIBCAP@ -BGP_TEST_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) $(ALL_TESTS_LDADD) -lm -ISISD_TEST_LDADD = ../isisd/libisis.a $(ALL_TESTS_LDADD) -OSPF6_TEST_LDADD = ../ospf6d/libospf6.a $(ALL_TESTS_LDADD) - -lib_test_buffer_LDADD = $(ALL_TESTS_LDADD) -lib_test_checksum_LDADD = $(ALL_TESTS_LDADD) -lib_test_heavy_thread_LDADD = $(ALL_TESTS_LDADD) -lm -lib_test_heavy_wq_LDADD = $(ALL_TESTS_LDADD) -lm -lib_test_heavy_LDADD = $(ALL_TESTS_LDADD) -lm -lib_test_memory_LDADD = $(ALL_TESTS_LDADD) -lib_test_nexthop_iter_LDADD = $(ALL_TESTS_LDADD) -lib_test_privs_LDADD = $(ALL_TESTS_LDADD) -lib_test_ringbuf_LDADD = $(ALL_TESTS_LDADD) -lib_test_srcdest_table_LDADD = $(ALL_TESTS_LDADD) -lib_test_segv_LDADD = $(ALL_TESTS_LDADD) -lib_test_sig_LDADD = $(ALL_TESTS_LDADD) -lib_test_stream_LDADD = $(ALL_TESTS_LDADD) -lib_test_table_LDADD = $(ALL_TESTS_LDADD) -lm -lib_test_timer_correctness_LDADD = $(ALL_TESTS_LDADD) -lib_test_timer_performance_LDADD = $(ALL_TESTS_LDADD) -lib_test_ttable_LDADD = $(ALL_TESTS_LDADD) -lib_test_zlog_LDADD = $(ALL_TESTS_LDADD) -lib_test_graph_LDADD = $(ALL_TESTS_LDADD) -lib_test_zmq_LDADD = ../lib/libfrrzmq.la $(ALL_TESTS_LDADD) $(ZEROMQ_LIBS) -lib_cli_test_cli_LDADD = $(ALL_TESTS_LDADD) -lib_cli_test_commands_LDADD = $(ALL_TESTS_LDADD) -bgpd_test_aspath_LDADD = $(BGP_TEST_LDADD) -bgpd_test_capability_LDADD = $(BGP_TEST_LDADD) -bgpd_test_packet_LDADD = $(BGP_TEST_LDADD) -bgpd_test_peer_attr_LDADD = $(BGP_TEST_LDADD) -bgpd_test_ecommunity_LDADD = $(BGP_TEST_LDADD) -bgpd_test_mp_attr_LDADD = $(BGP_TEST_LDADD) -bgpd_test_mpath_LDADD = $(BGP_TEST_LDADD) -bgpd_test_bgp_table_LDADD = $(BGP_TEST_LDADD) -isisd_test_fuzz_isis_tlv_LDADD = $(ISISD_TEST_LDADD) -isisd_test_isis_vertex_queue_LDADD = $(ISISD_TEST_LDADD) -ospf6d_test_lsdb_LDADD = $(OSPF6_TEST_LDADD) - -EXTRA_DIST = \ - runtests.py \ - bgpd/test_aspath.py \ - bgpd/test_capability.py \ - bgpd/test_ecommunity.py \ - bgpd/test_mp_attr.py \ - bgpd/test_mpath.py \ - bgpd/test_peer_attr.py \ - helpers/python/frrsix.py \ - helpers/python/frrtest.py \ - isisd/test_fuzz_isis_tlv.py \ - isisd/test_fuzz_isis_tlv_tests.h.gz \ - isisd/test_isis_vertex_queue.py \ - lib/cli/test_commands.in \ - lib/cli/test_commands.py \ - lib/cli/test_commands.refout \ - lib/cli/test_cli.in \ - lib/cli/test_cli.py \ - lib/cli/test_cli.refout \ - lib/test_nexthop_iter.py \ - lib/test_ringbuf.py \ - lib/test_srcdest_table.py \ - lib/test_stream.py \ - lib/test_stream.refout \ - lib/test_table.py \ - lib/test_timer_correctness.py \ - lib/test_ttable.py \ - lib/test_ttable.refout \ - lib/test_zlog.py \ - lib/test_graph.py \ - lib/test_graph.refout \ - ospf6d/test_lsdb.py \ - ospf6d/test_lsdb.in \ - ospf6d/test_lsdb.refout \ - # end - -.PHONY: tests.xml -tests.xml: $(check_PROGRAMS) - $(PYTHON) $(srcdir)/runtests.py --junitxml=$@ -v $(srcdir) -check: tests.xml diff --git a/tests/helpers/python/frrtest.py b/tests/helpers/python/frrtest.py index da9e447fc0..60bee5c88c 100644 --- a/tests/helpers/python/frrtest.py +++ b/tests/helpers/python/frrtest.py @@ -176,8 +176,14 @@ class TestRefOut(object): basedir = os.path.dirname(inspect.getsourcefile(type(self))) program = os.path.join(basedir, self.program) - refin = program + '.in' - refout = program + '.refout' + if getattr(self, 'built_refin', False): + refin = binpath(program) + '.in' + else: + refin = program + '.in' + if getattr(self, 'built_refout', False): + refout = binpath(program) + '.refout' + else: + refout = program + '.refout' intext = '' if os.path.exists(refin): diff --git a/tests/lib/cli/test_cli.c b/tests/lib/cli/test_cli.c index 4cc15ba23f..8f062d8b5e 100644 --- a/tests/lib/cli/test_cli.c +++ b/tests/lib/cli/test_cli.c @@ -41,7 +41,7 @@ DUMMY_DEFUN(cmd13, "alt a X:X::X:X"); DUMMY_DEFUN(cmd14, "pat g { foo A.B.C.D$foo|foo|bar X:X::X:X$bar| baz } [final]"); -#include "lib/cli/test_cli_clippy.c" +#include "tests/lib/cli/test_cli_clippy.c" DEFPY(magic_test, magic_test_cmd, "magic (0-100) {ipv4net A.B.C.D/M|X:X::X:X$ipv6}", diff --git a/tests/lib/cli/test_cli.py b/tests/lib/cli/test_cli.py index e3c31c2d91..7371db283a 100644 --- a/tests/lib/cli/test_cli.py +++ b/tests/lib/cli/test_cli.py @@ -2,3 +2,4 @@ import frrtest class TestCli(frrtest.TestRefOut): program = './test_cli' + built_refout = True diff --git a/tests/ospf6d/test_lsdb.c b/tests/ospf6d/test_lsdb.c index ec0835c719..24821febe6 100644 --- a/tests/ospf6d/test_lsdb.c +++ b/tests/ospf6d/test_lsdb.c @@ -29,7 +29,7 @@ #include "ospf6d/ospf6_lsdb.h" #include "tests/lib/cli/common_cli.h" -#include "ospf6d/test_lsdb_clippy.c" +#include "tests/ospf6d/test_lsdb_clippy.c" static struct ospf6_lsdb *lsdb; diff --git a/tests/subdir.am b/tests/subdir.am new file mode 100644 index 0000000000..cffc316927 --- /dev/null +++ b/tests/subdir.am @@ -0,0 +1,295 @@ +# +# tests +# + +PYTHON ?= python + +if BGPD +TESTS_BGPD = \ + tests/bgpd/test_aspath \ + tests/bgpd/test_capability \ + tests/bgpd/test_packet \ + tests/bgpd/test_peer_attr \ + tests/bgpd/test_ecommunity \ + tests/bgpd/test_mp_attr \ + tests/bgpd/test_mpath \ + tests/bgpd/test_bgp_table +else +TESTS_BGPD = +endif + +if ISISD +if SOLARIS +TESTS_ISISD = +else +TESTS_ISISD = \ + tests/isisd/test_fuzz_isis_tlv \ + tests/isisd/test_isis_vertex_queue \ + # end +endif +else +TESTS_ISISD = +endif + +if OSPF6D +TESTS_OSPF6D = \ + tests/ospf6d/test_lsdb \ + # end +else +TESTS_OSPF6D = +endif + +tests/lib/cli/tests_lib_cli_test_cli-test_cli.$(OBJEXT): tests/lib/cli/test_cli_clippy.c +tests/lib/cli/test_cli-test_cli.$(OBJEXT): tests/lib/cli/test_cli_clippy.c +tests/ospf6d/tests_ospf6d_test_lsdb-test_lsdb.$(OBJEXT): tests/ospf6d/test_lsdb_clippy.c +tests/ospf6d/test_lsdb-test_lsdb.$(OBJEXT): tests/ospf6d/test_lsdb_clippy.c + +check_PROGRAMS = \ + tests/lib/test_buffer \ + tests/lib/test_checksum \ + tests/lib/test_heavy_thread \ + tests/lib/test_heavy_wq \ + tests/lib/test_heavy \ + tests/lib/test_memory \ + tests/lib/test_nexthop_iter \ + tests/lib/test_privs \ + tests/lib/test_ringbuf \ + tests/lib/test_srcdest_table \ + tests/lib/test_segv \ + tests/lib/test_sig \ + tests/lib/test_stream \ + tests/lib/test_table \ + tests/lib/test_timer_correctness \ + tests/lib/test_timer_performance \ + tests/lib/test_ttable \ + tests/lib/test_zlog \ + tests/lib/test_graph \ + tests/lib/cli/test_cli \ + tests/lib/cli/test_commands \ + $(TESTS_BGPD) \ + $(TESTS_ISISD) \ + $(TESTS_OSPF6D) \ + # end + +if ZEROMQ +check_PROGRAMS += \ + tests/lib/test_zmq \ + # end +endif + +tests/lib/cli/test_commands_defun.c: vtysh/vtysh_cmd.c + sed \ + -e 's%"vtysh/vtysh\.h"%"tests/helpers/c/tests.h"%' \ + -e 's/vtysh_init_cmd/test_init_cmd/' \ + -e 's/VTYSH_[A-Z][A-Z_0-9]*/0/g' \ + < vtysh/vtysh_cmd.c \ + > "$@" + +tests/isisd/test_fuzz_isis_tlv_tests.h: $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz + gzip -d < $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz > "$@" +CLEANFILES += tests/isisd/test_fuzz_isis_tlv_tests.h + +tests/isisd/tests_isisd_test_fuzz_isis_tlv-test_fuzz_isis_tlv.$(OBJEXT): \ + tests/isisd/test_fuzz_isis_tlv_tests.h +tests/isisd/test_fuzz_isis_tlv-test_fuzz_isis_tlv.$(OBJEXT): \ + tests/isisd/test_fuzz_isis_tlv_tests.h + +noinst_HEADERS += \ + tests/helpers/c/prng.h \ + tests/helpers/c/tests.h \ + tests/lib/cli/common_cli.h \ + # end + +# +# *sigh* - there is no way to get CPPFLAGS or CFLAGS for a group of files :( +# + +TESTS_CPPFLAGS = $(AM_CPPFLAGS) \ + -I$(top_srcdir)/tests/helpers/c \ + -I$(top_builddir)/tests/helpers/c \ + # end +TESTS_CFLAGS = @ASAN_FLAGS@ @TSAN_FLAGS@ @MSAN_FLAGS@ +# note no -Werror + +ALL_TESTS_LDADD = lib/libfrr.la @LIBCAP@ +BGP_TEST_LDADD = bgpd/libbgp.a $(RFPLDADD) $(ALL_TESTS_LDADD) -lm +ISISD_TEST_LDADD = isisd/libisis.a $(ALL_TESTS_LDADD) +OSPF6_TEST_LDADD = ospf6d/libospf6.a $(ALL_TESTS_LDADD) + +tests_bgpd_test_aspath_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_aspath_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_aspath_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_aspath_SOURCES = tests/bgpd/test_aspath.c +tests_bgpd_test_bgp_table_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_bgp_table_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_bgp_table_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_bgp_table_SOURCES = tests/bgpd/test_bgp_table.c +tests_bgpd_test_capability_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_capability_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_capability_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_capability_SOURCES = tests/bgpd/test_capability.c +tests_bgpd_test_ecommunity_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_ecommunity_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_ecommunity_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_ecommunity_SOURCES = tests/bgpd/test_ecommunity.c +tests_bgpd_test_mp_attr_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_mp_attr_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_mp_attr_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_mp_attr_SOURCES = tests/bgpd/test_mp_attr.c +tests_bgpd_test_mpath_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_mpath_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_mpath_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_mpath_SOURCES = tests/bgpd/test_mpath.c +tests_bgpd_test_packet_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_packet_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_packet_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_packet_SOURCES = tests/bgpd/test_packet.c +tests_bgpd_test_peer_attr_CFLAGS = $(TESTS_CFLAGS) +tests_bgpd_test_peer_attr_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_bgpd_test_peer_attr_LDADD = $(BGP_TEST_LDADD) +tests_bgpd_test_peer_attr_SOURCES = tests/bgpd/test_peer_attr.c + +tests_isisd_test_fuzz_isis_tlv_CFLAGS = $(TESTS_CFLAGS) -I$(top_builddir)/tests/isisd +tests_isisd_test_fuzz_isis_tlv_CPPFLAGS = $(TESTS_CPPFLAGS) -I$(top_builddir)/tests/isisd +tests_isisd_test_fuzz_isis_tlv_LDADD = $(ISISD_TEST_LDADD) +tests_isisd_test_fuzz_isis_tlv_SOURCES = tests/isisd/test_fuzz_isis_tlv.c +nodist_tests_isisd_test_fuzz_isis_tlv_SOURCES = tests/isisd/test_fuzz_isis_tlv_tests.h +tests_isisd_test_isis_vertex_queue_CFLAGS = $(TESTS_CFLAGS) +tests_isisd_test_isis_vertex_queue_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_isisd_test_isis_vertex_queue_LDADD = $(ISISD_TEST_LDADD) +tests_isisd_test_isis_vertex_queue_SOURCES = tests/isisd/test_isis_vertex_queue.c + +tests_lib_cli_test_cli_CFLAGS = $(TESTS_CFLAGS) +tests_lib_cli_test_cli_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_cli_test_cli_LDADD = $(ALL_TESTS_LDADD) +tests_lib_cli_test_cli_SOURCES = tests/lib/cli/test_cli.c tests/lib/cli/common_cli.c +tests_lib_cli_test_commands_CFLAGS = $(TESTS_CFLAGS) +tests_lib_cli_test_commands_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_cli_test_commands_LDADD = $(ALL_TESTS_LDADD) +tests_lib_cli_test_commands_SOURCES = tests/lib/cli/test_commands_defun.c tests/lib/cli/test_commands.c tests/helpers/c/prng.c +tests_lib_test_buffer_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_buffer_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_buffer_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_buffer_SOURCES = tests/lib/test_buffer.c +tests_lib_test_checksum_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_checksum_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_checksum_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_checksum_SOURCES = tests/lib/test_checksum.c +tests_lib_test_graph_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_graph_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_graph_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_graph_SOURCES = tests/lib/test_graph.c +tests_lib_test_heavy_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_heavy_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_heavy_LDADD = $(ALL_TESTS_LDADD) -lm +tests_lib_test_heavy_SOURCES = tests/lib/test_heavy.c tests/helpers/c/main.c +tests_lib_test_heavy_thread_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_heavy_thread_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_heavy_thread_LDADD = $(ALL_TESTS_LDADD) -lm +tests_lib_test_heavy_thread_SOURCES = tests/lib/test_heavy_thread.c tests/helpers/c/main.c +tests_lib_test_heavy_wq_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_heavy_wq_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_heavy_wq_LDADD = $(ALL_TESTS_LDADD) -lm +tests_lib_test_heavy_wq_SOURCES = tests/lib/test_heavy_wq.c tests/helpers/c/main.c +tests_lib_test_memory_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_memory_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_memory_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_memory_SOURCES = tests/lib/test_memory.c +tests_lib_test_nexthop_iter_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_nexthop_iter_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_nexthop_iter_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_nexthop_iter_SOURCES = tests/lib/test_nexthop_iter.c tests/helpers/c/prng.c +tests_lib_test_privs_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_privs_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_privs_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_privs_SOURCES = tests/lib/test_privs.c +tests_lib_test_ringbuf_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_ringbuf_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_ringbuf_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_ringbuf_SOURCES = tests/lib/test_ringbuf.c +tests_lib_test_segv_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_segv_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_segv_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_segv_SOURCES = tests/lib/test_segv.c +tests_lib_test_sig_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_sig_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_sig_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_sig_SOURCES = tests/lib/test_sig.c +tests_lib_test_srcdest_table_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_srcdest_table_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_srcdest_table_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_srcdest_table_SOURCES = tests/lib/test_srcdest_table.c tests/helpers/c/prng.c +tests_lib_test_stream_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_stream_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_stream_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_stream_SOURCES = tests/lib/test_stream.c +tests_lib_test_table_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_table_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_table_LDADD = $(ALL_TESTS_LDADD) -lm +tests_lib_test_table_SOURCES = tests/lib/test_table.c +tests_lib_test_timer_correctness_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_timer_correctness_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_timer_correctness_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_timer_correctness_SOURCES = tests/lib/test_timer_correctness.c tests/helpers/c/prng.c +tests_lib_test_timer_performance_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_timer_performance_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_timer_performance_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_timer_performance_SOURCES = tests/lib/test_timer_performance.c tests/helpers/c/prng.c +tests_lib_test_ttable_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_ttable_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_ttable_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_ttable_SOURCES = tests/lib/test_ttable.c +tests_lib_test_zlog_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_zlog_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_zlog_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_zlog_SOURCES = tests/lib/test_zlog.c +tests_lib_test_zmq_CFLAGS = $(TESTS_CFLAGS) $(ZEROMQ_CFLAGS) +tests_lib_test_zmq_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_zmq_LDADD = lib/libfrrzmq.la $(ALL_TESTS_LDADD) $(ZEROMQ_LIBS) +tests_lib_test_zmq_SOURCES = tests/lib/test_zmq.c + +tests_ospf6d_test_lsdb_CFLAGS = $(TESTS_CFLAGS) +tests_ospf6d_test_lsdb_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_ospf6d_test_lsdb_LDADD = $(OSPF6_TEST_LDADD) +tests_ospf6d_test_lsdb_SOURCES = tests/ospf6d/test_lsdb.c tests/lib/cli/common_cli.c + +EXTRA_DIST += \ + tests/runtests.py \ + tests/bgpd/test_aspath.py \ + tests/bgpd/test_capability.py \ + tests/bgpd/test_ecommunity.py \ + tests/bgpd/test_mp_attr.py \ + tests/bgpd/test_mpath.py \ + tests/bgpd/test_peer_attr.py \ + tests/helpers/python/frrsix.py \ + tests/helpers/python/frrtest.py \ + tests/isisd/test_fuzz_isis_tlv.py \ + tests/isisd/test_fuzz_isis_tlv_tests.h.gz \ + tests/isisd/test_isis_vertex_queue.py \ + tests/lib/cli/test_commands.in \ + tests/lib/cli/test_commands.py \ + tests/lib/cli/test_commands.refout \ + tests/lib/cli/test_cli.in \ + tests/lib/cli/test_cli.py \ + tests/lib/cli/test_cli.refout \ + tests/lib/test_nexthop_iter.py \ + tests/lib/test_ringbuf.py \ + tests/lib/test_srcdest_table.py \ + tests/lib/test_stream.py \ + tests/lib/test_stream.refout \ + tests/lib/test_table.py \ + tests/lib/test_timer_correctness.py \ + tests/lib/test_ttable.py \ + tests/lib/test_ttable.refout \ + tests/lib/test_zlog.py \ + tests/lib/test_graph.py \ + tests/lib/test_graph.refout \ + tests/ospf6d/test_lsdb.py \ + tests/ospf6d/test_lsdb.in \ + tests/ospf6d/test_lsdb.refout \ + # end + +.PHONY: tests/tests.xml +tests/tests.xml: $(check_PROGRAMS) + ( cd tests; $(PYTHON) ../$(srcdir)/tests/runtests.py --junitxml=tests.xml -v ../$(srcdir)/tests; ) +check: tests/tests.xml diff --git a/tools/.gitignore b/tools/.gitignore index 7bf3be9dbf..d400dfe8fa 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -1,10 +1,2 @@ -!Makefile -.arch-inventory -.arch-ids - -*~ -*.loT -.libs -*.o /permutations /ssd diff --git a/vtysh/.gitignore b/vtysh/.gitignore index 5856eac253..c1a39b8a12 100644 --- a/vtysh/.gitignore +++ b/vtysh/.gitignore @@ -1,16 +1,3 @@ -Makefile -Makefile.in -*.o vtysh -tags -TAGS -.deps vtysh_cmd.c -.nfs* extract.pl -.libs -.arch-inventory -.arch-ids -*~ -*.loT - diff --git a/vtysh/Makefile b/vtysh/Makefile new file mode 100644 index 0000000000..07e093b0f5 --- /dev/null +++ b/vtysh/Makefile @@ -0,0 +1,10 @@ +all: ALWAYS + @$(MAKE) -s -C .. vtysh/vtysh +%: ALWAYS + @$(MAKE) -s -C .. vtysh/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/vtysh/Makefile.am b/vtysh/Makefile.am deleted file mode 100644 index 350b6fedea..0000000000 --- a/vtysh/Makefile.am +++ /dev/null @@ -1,180 +0,0 @@ -## Process this file with Automake to create Makefile.in - -include ../common.am - -if ENABLE_BGP_VNC -BGP_VNC_RFP_SRCDIR = @top_srcdir@/@LIBRFP@ -BGP_VNC_RFP_INCDIR = -I$(BGP_VNC_RFP_SRCDIR) -BGP_VNC_RFP_SRC = $(BGP_VNC_RFP_SRCDIR)/*.c -BGP_VNC_RFAPI_SRCDIR = @top_srcdir@/bgpd/rfapi -BGP_VNC_RFAPI_INCDIR = -I$(BGP_VNC_RFAPI_SRCDIR) -I$(top_srcdir)/bgpd -BGP_VNC_RFAPI_SRC = $(BGP_VNC_RFAPI_SRCDIR)/*.c -else -BGP_VNC_RFP_INCDIR = -BGP_VNC_RFP_SRCDIR = -BGP_VNC_RFP_SRC = -BGP_VNC_RFAPI_INCDIR = -BGP_VNC_RFAPI_SRCDIR = -BGP_VNC_RFAPI_SRC = -endif -AM_CPPFLAGS += -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib \ - $(BGP_VNC_RFAPI_INCDIR) $(BGP_VNC_RFP_INCDIR) -DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" - -LIBS = @LIBS@ @CURSES@ @LIBPAM@ - -bin_PROGRAMS = vtysh - -vtysh_SOURCES = vtysh_main.c vtysh.c vtysh_user.c vtysh_config.c -nodist_vtysh_SOURCES = vtysh_cmd.c -CLEANFILES = vtysh_cmd.c -noinst_HEADERS = vtysh.h vtysh_user.h -vtysh_LDADD = ../lib/libfrr.la @LIBCAP@ @LIBREADLINE@ - -examplesdir = $(exampledir) -dist_examples_DATA = vtysh.conf.sample - -EXTRA_DIST = extract.pl - -vtysh_scan = - -if PIMD -vtysh_scan += $(top_srcdir)/pimd/pim_cmd.c -endif - -if BGPD -vtysh_scan += $(top_srcdir)/bgpd/bgp_bfd.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_debug.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_dump.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_evpn_vty.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_filter.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_mplsvpn.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_nexthop.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_route.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_routemap.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_vty.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_flowspec_vty.c -endif - -if RPKI -vtysh_scan += $(top_srcdir)/bgpd/bgp_rpki.c -endif - -if ISISD -vtysh_scan += $(top_srcdir)/isisd/isis_redist.c -vtysh_scan += $(top_srcdir)/isisd/isis_spf.c -vtysh_scan += $(top_srcdir)/isisd/isis_te.c -vtysh_scan += $(top_srcdir)/isisd/isis_vty_common.c -vtysh_scan += $(top_srcdir)/isisd/isis_vty_fabricd.c -vtysh_scan += $(top_srcdir)/isisd/isis_vty_isisd.c -vtysh_scan += $(top_srcdir)/isisd/isisd.c -endif - -if OSPFD -vtysh_scan += $(top_srcdir)/ospfd/ospf_bfd.c -vtysh_scan += $(top_srcdir)/ospfd/ospf_dump.c -vtysh_scan += $(top_srcdir)/ospfd/ospf_opaque.c -vtysh_scan += $(top_srcdir)/ospfd/ospf_ri.c -vtysh_scan += $(top_srcdir)/ospfd/ospf_routemap.c -vtysh_scan += $(top_srcdir)/ospfd/ospf_te.c -vtysh_scan += $(top_srcdir)/ospfd/ospf_sr.c -vtysh_scan += $(top_srcdir)/ospfd/ospf_vty.c -endif - -if OSPF6D -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_abr.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_asbr.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_area.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_bfd.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_flood.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_interface.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_intra.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_lsa.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_message.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_neighbor.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_route.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_spf.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_top.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6_zebra.c -vtysh_scan += $(top_srcdir)/ospf6d/ospf6d.c -endif - -if RIPD -vtysh_scan += $(top_srcdir)/ripd/rip_debug.c -vtysh_scan += $(top_srcdir)/ripd/rip_interface.c -vtysh_scan += $(top_srcdir)/ripd/rip_offset.c -vtysh_scan += $(top_srcdir)/ripd/rip_zebra.c -vtysh_scan += $(top_srcdir)/ripd/ripd.c -endif - -if RIPNGD -vtysh_scan += $(top_srcdir)/ripngd/ripng_debug.c -vtysh_scan += $(top_srcdir)/ripngd/ripng_interface.c -vtysh_scan += $(top_srcdir)/ripngd/ripng_offset.c -vtysh_scan += $(top_srcdir)/ripngd/ripng_zebra.c -vtysh_scan += $(top_srcdir)/ripngd/ripngd.c -endif - -if LDPD -vtysh_scan += $(top_srcdir)/ldpd/ldp_vty_cmds.c -endif - -if NHRPD -vtysh_scan += $(top_srcdir)/nhrpd/nhrp_vty.c -endif - -if EIGRPD -vtysh_scan += $(top_srcdir)/eigrpd/eigrp_dump.c -#vtysh_scan += $(top_srcdir)/eigrpd/eigrp_routemap.c -vtysh_scan += $(top_srcdir)/eigrpd/eigrp_vty.c -endif - -if BABELD -vtysh_scan += $(top_srcdir)/babeld/babel_interface.c -vtysh_scan += $(top_srcdir)/babeld/babel_zebra.c -vtysh_scan += $(top_srcdir)/babeld/babeld.c -endif - -if SHARPD -vtysh_scan += $(top_srcdir)/sharpd/sharp_vty.c -endif - -if SNMP -vtysh_scan += $(top_srcdir)/lib/agentx.c -endif - -if PBRD -vtysh_scan += $(top_srcdir)/pbrd/pbr_vty.c -vtysh_scan += $(top_srcdir)/pbrd/pbr_debug.c -endif - -if STATICD -vtysh_scan += $(top_srcdir)/staticd/static_vty.c -endif - -if BFDD -vtysh_scan += $(top_srcdir)/bfdd/bfdd_vty.c -endif - -vtysh_cmd_FILES = $(vtysh_scan) \ - $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c \ - $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c \ - $(top_srcdir)/lib/distribute.c $(top_srcdir)/lib/if_rmap.c \ - $(top_srcdir)/lib/vrf.c $(top_srcdir)/lib/if.c \ - $(top_srcdir)/lib/vty.c $(top_srcdir)/zebra/debug.c \ - $(top_srcdir)/lib/logicalrouter.c \ - $(top_srcdir)/lib/nexthop_group.c \ - $(top_srcdir)/zebra/interface.c \ - $(top_srcdir)/zebra/irdp_interface.c \ - $(top_srcdir)/zebra/rtadv.c $(top_srcdir)/zebra/zebra_vty.c \ - $(top_srcdir)/zebra/zserv.c $(top_srcdir)/zebra/router-id.c \ - $(top_srcdir)/zebra/zebra_routemap.c \ - $(top_srcdir)/zebra/zebra_fpm.c \ - $(top_srcdir)/zebra/zebra_ptm.c \ - $(top_srcdir)/zebra/zebra_mpls_vty.c \ - $(top_srcdir)/zebra/zebra_pw.c \ - $(top_srcdir)/watchfrr/watchfrr_vty.c \ - $(BGP_VNC_RFAPI_SRC) $(BGP_VNC_RFP_SRC) - -vtysh_cmd.c: $(vtysh_cmd_FILES) extract.pl - ./extract.pl $(vtysh_cmd_FILES) > vtysh_cmd.c diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in index 690e9a12c6..0f68e58d62 100755 --- a/vtysh/extract.pl.in +++ b/vtysh/extract.pl.in @@ -29,7 +29,7 @@ print <; close (FH); diff --git a/vtysh/subdir.am b/vtysh/subdir.am new file mode 100644 index 0000000000..3d40f37d22 --- /dev/null +++ b/vtysh/subdir.am @@ -0,0 +1,37 @@ +# +# vtysh +# + +if VTYSH +bin_PROGRAMS += vtysh/vtysh +dist_examples_DATA += vtysh/vtysh.conf.sample +rstman1_DATA += $(MANBUILD)/vtysh.1 +endif + +vtysh_vtysh_SOURCES = \ + vtysh/vtysh_main.c \ + vtysh/vtysh.c \ + vtysh/vtysh_user.c \ + vtysh/vtysh_config.c \ + # end +nodist_vtysh_vtysh_SOURCES = \ + vtysh/vtysh_cmd.c \ + # end +CLEANFILES += vtysh/vtysh_cmd.c + +noinst_HEADERS += \ + vtysh/vtysh.h \ + vtysh/vtysh_user.h \ + # end + +vtysh_vtysh_LDADD = lib/libfrr.la @LIBCAP@ @LIBREADLINE@ @LIBS@ @CURSES@ @LIBPAM@ + +EXTRA_DIST += vtysh/extract.pl + +AM_V_EXTRACT = $(am__v_EXTRACT_$(V)) +am__v_EXTRACT_ = $(am__v_EXTRACT_$(AM_DEFAULT_VERBOSITY)) +am__v_EXTRACT_0 = @echo " EXTRACT " $@; +am__v_EXTRACT_1 = + +vtysh/vtysh_cmd.c: $(vtysh_scan) vtysh/extract.pl + $(AM_V_EXTRACT) vtysh/extract.pl $(vtysh_scan) > vtysh/vtysh_cmd.c diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 39b756ddaf..6a92b90813 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -1257,9 +1257,7 @@ struct cmd_node link_params_node = { LINK_PARAMS_NODE, "%s(config-link-params)# ", }; -#if defined(HAVE_RPKI) static struct cmd_node rpki_node = {RPKI_NODE, "%s(config-rpki)# ", 1}; -#endif #if HAVE_BFDD > 0 static struct cmd_node bfd_node = { @@ -1429,7 +1427,6 @@ DEFUNSH(VTYSH_BGPD, address_family_ipv6_labeled_unicast, return CMD_SUCCESS; } -#if defined(HAVE_RPKI) DEFUNSH(VTYSH_BGPD, rpki, rpki_cmd, @@ -1440,8 +1437,6 @@ DEFUNSH(VTYSH_BGPD, return CMD_SUCCESS; } -#endif - DEFUNSH(VTYSH_BGPD, address_family_evpn, address_family_evpn_cmd, "address-family ", "Enter Address Family command mode\n" @@ -1884,7 +1879,6 @@ DEFUNSH(VTYSH_BGPD, exit_vnc_config, exit_vnc_config_cmd, "exit-vnc", } -#if defined(HAVE_RPKI) DEFUNSH(VTYSH_BGPD, rpki_exit, rpki_exit_cmd, "exit", "Exit current mode and down to previous mode\n") { @@ -1897,7 +1891,6 @@ DEFUNSH(VTYSH_BGPD, rpki_quit, rpki_quit_cmd, "quit", { return rpki_exit(self, vty, argc, argv); } -#endif /* HAVE_RPKI */ DEFUNSH(VTYSH_PIMD|VTYSH_ZEBRA, exit_vrf_config, exit_vrf_config_cmd, "exit-vrf", "Exit from VRF configuration mode\n") @@ -3525,9 +3518,7 @@ void vtysh_init_vty(void) install_node(&isis_node, NULL); install_node(&openfabric_node, NULL); install_node(&vty_node, NULL); -#if defined(HAVE_RPKI) install_node(&rpki_node, NULL); -#endif #if HAVE_BFDD > 0 install_node(&bfd_node, NULL); install_node(&bfd_peer_node, NULL); @@ -3766,12 +3757,10 @@ void vtysh_init_vty(void) install_element(BGP_FLOWSPECV4_NODE, &exit_address_family_cmd); install_element(BGP_FLOWSPECV6_NODE, &exit_address_family_cmd); -#if defined(HAVE_RPKI) install_element(CONFIG_NODE, &rpki_cmd); install_element(RPKI_NODE, &rpki_exit_cmd); install_element(RPKI_NODE, &rpki_quit_cmd); install_element(RPKI_NODE, &vtysh_end_all_cmd); -#endif /* EVPN commands */ install_element(BGP_EVPN_NODE, &bgp_evpn_vni_cmd); diff --git a/watchfrr/.gitignore b/watchfrr/.gitignore index b8c020c04c..b3f5a6cd91 100644 --- a/watchfrr/.gitignore +++ b/watchfrr/.gitignore @@ -1,16 +1 @@ -!Makefile -Makefile.in -*.o watchfrr -tags -TAGS -.deps -.nfs* -*.lo -*.la -*.libs -.arch-inventory -.arch-ids -*~ -*.loT - diff --git a/watchfrr/subdir.am b/watchfrr/subdir.am index 931f11ef63..96df81d4a6 100644 --- a/watchfrr/subdir.am +++ b/watchfrr/subdir.am @@ -4,6 +4,8 @@ if WATCHFRR sbin_PROGRAMS += watchfrr/watchfrr +vtysh_scan += $(top_srcdir)/watchfrr/watchfrr_vty.c +rstman8_DATA += $(MANBUILD)/watchfrr.8 endif noinst_HEADERS += \ diff --git a/zebra/.gitignore b/zebra/.gitignore index 4a06756a2d..41a86e7d75 100644 --- a/zebra/.gitignore +++ b/zebra/.gitignore @@ -1,15 +1,3 @@ -!Makefile -Makefile.in -*.o zebra zebra.conf client -tags -TAGS -.deps -.nfs* -.libs -.arch-inventory -.arch-ids -*~ -*.loT diff --git a/zebra/subdir.am b/zebra/subdir.am index 5dc3750315..91bd792b00 100644 --- a/zebra/subdir.am +++ b/zebra/subdir.am @@ -5,6 +5,22 @@ if ZEBRA sbin_PROGRAMS += zebra/zebra dist_examples_DATA += zebra/zebra.conf.sample +vtysh_scan += \ + $(top_srcdir)/zebra/debug.c \ + $(top_srcdir)/zebra/interface.c \ + $(top_srcdir)/zebra/router-id.c \ + $(top_srcdir)/zebra/rtadv.c \ + $(top_srcdir)/zebra/zebra_mpls_vty.c \ + $(top_srcdir)/zebra/zebra_ptm.c \ + $(top_srcdir)/zebra/zebra_pw.c \ + $(top_srcdir)/zebra/zebra_routemap.c \ + $(top_srcdir)/zebra/zebra_vty.c \ + $(top_srcdir)/zebra/zserv.c \ + # end + +# can be loaded as DSO - always include for vtysh +vtysh_scan += $(top_srcdir)/zebra/irdp_interface.c +vtysh_scan += $(top_srcdir)/zebra/zebra_fpm.c if IRDP module_LTLIBRARIES += zebra/zebra_irdp.la @@ -16,6 +32,7 @@ if FPM module_LTLIBRARIES += zebra/zebra_fpm.la endif +rstman8_DATA += $(MANBUILD)/zebra.8 ## endif ZEBRA endif