mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 14:42:06 +00:00
Merge remote-tracking branch 'origin/stable/2.0'
This commit is contained in:
commit
7df2e1c379
@ -93,11 +93,11 @@ noinst_HEADERS = \
|
||||
$(BGP_VNC_RFAPI_HD)
|
||||
|
||||
bgpd_SOURCES = bgp_main.c
|
||||
bgpd_LDADD = libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libzebra.la @LIBCAP@ @LIBM@
|
||||
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/libzebra.la @LIBCAP@ @LIBM@
|
||||
bgp_btoa_LDADD = libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ @LIBM@
|
||||
bgp_btoa_LDFLAGS = $(BGP_VNC_RFP_LD_FLAGS)
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
|
@ -69,6 +69,14 @@ bgp_find_nexthop (struct bgp_info *path, int connected)
|
||||
if (!bnc)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* We are cheating here. Views have no associated underlying
|
||||
* ability to detect nexthops. So when we have a view
|
||||
* just tell everyone the nexthop is valid
|
||||
*/
|
||||
if (path->peer && path->peer->bgp->inst_type == BGP_INSTANCE_TYPE_VIEW)
|
||||
return 1;
|
||||
|
||||
if (connected && !(CHECK_FLAG(bnc->flags, BGP_NEXTHOP_CONNECTED)))
|
||||
return 0;
|
||||
|
||||
@ -196,7 +204,6 @@ bgp_find_or_add_nexthop (struct bgp *bgp, afi_t afi, struct bgp_info *ri,
|
||||
|
||||
bnc = rn->info;
|
||||
bgp_unlock_node (rn);
|
||||
|
||||
if (is_bgp_static_route)
|
||||
{
|
||||
SET_FLAG(bnc->flags, BGP_STATIC_ROUTE);
|
||||
@ -239,10 +246,13 @@ bgp_find_or_add_nexthop (struct bgp *bgp, afi_t afi, struct bgp_info *ri,
|
||||
UNSET_FLAG(bnc->flags, BGP_NEXTHOP_REGISTERED);
|
||||
UNSET_FLAG(bnc->flags, BGP_NEXTHOP_VALID);
|
||||
}
|
||||
|
||||
if (!CHECK_FLAG(bnc->flags, BGP_NEXTHOP_REGISTERED))
|
||||
if (bgp->inst_type == BGP_INSTANCE_TYPE_VIEW)
|
||||
{
|
||||
bnc->flags |= BGP_NEXTHOP_REGISTERED;
|
||||
bnc->flags |= BGP_NEXTHOP_VALID;
|
||||
}
|
||||
else if (!CHECK_FLAG(bnc->flags, BGP_NEXTHOP_REGISTERED))
|
||||
register_zebra_rnh(bnc, is_bgp_static_route);
|
||||
|
||||
if (ri && ri->nexthop != bnc)
|
||||
{
|
||||
/* Unlink from existing nexthop cache, if any. This will also free
|
||||
@ -260,7 +270,15 @@ bgp_find_or_add_nexthop (struct bgp *bgp, afi_t afi, struct bgp_info *ri,
|
||||
else if (peer)
|
||||
bnc->nht_info = (void *)peer; /* NHT peer reference */
|
||||
|
||||
return (bgp_isvalid_nexthop(bnc));
|
||||
/*
|
||||
* We are cheating here. Views have no associated underlying
|
||||
* ability to detect nexthops. So when we have a view
|
||||
* just tell everyone the nexthop is valid
|
||||
*/
|
||||
if (bgp->inst_type == BGP_INSTANCE_TYPE_VIEW)
|
||||
return 1;
|
||||
else
|
||||
return (bgp_isvalid_nexthop(bnc));
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -48,5 +48,5 @@ sbin_PROGRAMS = $(RFPTEST_BIN)
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
|
||||
rfptest_LDADD = $(top_builddir)/lib/libzebra.la $(BGP_VNC_RFP_LIB)
|
||||
rfptest_LDADD = $(top_builddir)/lib/libfrr.la $(BGP_VNC_RFP_LIB)
|
||||
dist_examples_DATA =
|
||||
|
@ -32,7 +32,7 @@ Q_PROTOBUF_SRCS = $(Q_PROTOBUF_CFILES) $(Q_PROTOBUF_HFILES)
|
||||
#
|
||||
Q_FRR_PB_CLIENT_LDOPTS = $(top_srcdir)/qpb/libfrr_pb.la $(Q_PROTOBUF_C_CLIENT_LDOPTS)
|
||||
|
||||
Q_FPM_PB_CLIENT_LDOPTS = $(top_srcdir)/fpm/libfpm_pb.la $(Q_FRR_PB_CLIENT_LDOPTS)
|
||||
Q_FPM_PB_CLIENT_LDOPTS = $(top_srcdir)/fpm/libfrrfpm_pb.la $(Q_FRR_PB_CLIENT_LDOPTS)
|
||||
|
||||
endif # HAVE_PROTOBUF
|
||||
|
||||
|
@ -1688,7 +1688,7 @@ AC_CONFIG_FILES([Makefile lib/Makefile qpb/Makefile zebra/Makefile ripd/Makefile
|
||||
doc/Makefile ospfclient/Makefile tests/Makefile m4/Makefile
|
||||
pimd/Makefile
|
||||
tests/bgpd.tests/Makefile
|
||||
tests/libzebra.tests/Makefile
|
||||
tests/libfrr.tests/Makefile
|
||||
redhat/Makefile
|
||||
tools/Makefile
|
||||
cumulus/Makefile
|
||||
|
7
debian/frr.lintian-overrides
vendored
7
debian/frr.lintian-overrides
vendored
@ -1,4 +1,3 @@
|
||||
frr: non-dev-pkg-with-shlib-symlink usr/lib/libospfapiclient.so.0.0.0 usr/lib/libospfapiclient.so
|
||||
frr: non-dev-pkg-with-shlib-symlink usr/lib/libospf.so.0.0.0 usr/lib/libospf.so
|
||||
frr: non-dev-pkg-with-shlib-symlink usr/lib/libzebra.so.0.0.0 usr/lib/libzebra.so
|
||||
frr: package-name-doesnt-match-sonames libospf0 libospfapiclient0 libzebra0
|
||||
frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrrospfapiclient.so.0.0.0 usr/lib/libfrrospfapiclient.so
|
||||
frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrr.so.0.0.0 usr/lib/libfrr.so
|
||||
frr: package-name-doesnt-match-sonames libfrrospf0 libfrrospfapiclient0 libfrr0
|
||||
|
@ -5,8 +5,8 @@ AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib $(Q
|
||||
PROTOBUF_INCLUDES=-I$(top_srcdir)
|
||||
PROTOBUF_PACKAGE = fpm
|
||||
|
||||
lib_LTLIBRARIES = libfpm_pb.la
|
||||
libfpm_pb_la_LDFLAGS = -version-info 0:0:0
|
||||
lib_LTLIBRARIES = libfrrfpm_pb.la
|
||||
libfrrfpm_pb_la_LDFLAGS = -version-info 0:0:0
|
||||
|
||||
if HAVE_PROTOBUF
|
||||
protobuf_srcs =
|
||||
@ -15,13 +15,13 @@ protobuf_srcs_nodist = \
|
||||
fpm.pb-c.c
|
||||
endif
|
||||
|
||||
libfpm_pb_la_SOURCES = \
|
||||
libfrrfpm_pb_la_SOURCES = \
|
||||
fpm.h \
|
||||
fpm_pb.h \
|
||||
fpm_pb.c \
|
||||
$(protobuf_srcs)
|
||||
|
||||
nodist_libfpm_pb_la_SOURCES = $(protobuf_srcs_nodist)
|
||||
nodist_libfrrfpm_pb_la_SOURCES = $(protobuf_srcs_nodist)
|
||||
|
||||
CLEANFILES = $(Q_CLEANFILES)
|
||||
|
||||
|
@ -31,7 +31,7 @@ isisd_SOURCES = \
|
||||
isis_main.c $(libisis_a_SOURCES) \
|
||||
isis_bpf.c isis_dlpi.c isis_pfpacket.c
|
||||
|
||||
isisd_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
isisd_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
dist_examples_DATA = isisd.conf.sample
|
||||
|
@ -27,7 +27,7 @@ ldp_vty_cmds.c: $(srcdir)/ldp_vty.xml $(srcdir)/../tools/xml2cli.pl
|
||||
@PERL@ $(srcdir)/../tools/xml2cli.pl $(srcdir)/ldp_vty.xml > $@
|
||||
|
||||
ldpd_SOURCES = ldpd.c
|
||||
ldpd_LDADD = libldp.a ../lib/libzebra.la @LIBCAP@
|
||||
ldpd_LDADD = libldp.a ../lib/libfrr.la @LIBCAP@
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
dist_examples_DATA = ldpd.conf.sample
|
||||
|
@ -10,10 +10,10 @@ command_lex.h: command_lex.c
|
||||
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) command_lex.c; else :; fi
|
||||
command_parse.lo: command_lex.h
|
||||
|
||||
lib_LTLIBRARIES = libzebra.la
|
||||
libzebra_la_LDFLAGS = -version-info 0:0:0
|
||||
lib_LTLIBRARIES = libfrr.la
|
||||
libfrr_la_LDFLAGS = -version-info 0:0:0
|
||||
|
||||
libzebra_la_SOURCES = \
|
||||
libfrr_la_SOURCES = \
|
||||
network.c pid_output.c getopt.c getopt1.c \
|
||||
checksum.c vector.c linklist.c vty.c \
|
||||
graph.c command_parse.y command_lex.l command_match.c \
|
||||
@ -33,7 +33,7 @@ libzebra_la_SOURCES = \
|
||||
|
||||
BUILT_SOURCES = route_types.h gitversion.h command_parse.h command_lex.h
|
||||
|
||||
libzebra_la_LIBADD = @LIBCAP@
|
||||
libfrr_la_LIBADD = @LIBCAP@
|
||||
|
||||
pkginclude_HEADERS = \
|
||||
buffer.h checksum.h filter.h getopt.h hash.h \
|
||||
@ -58,7 +58,7 @@ noinst_HEADERS = \
|
||||
noinst_PROGRAMS = grammar_sandbox
|
||||
|
||||
grammar_sandbox_SOURCES = grammar_sandbox_main.c
|
||||
grammar_sandbox_LDADD = libzebra.la
|
||||
grammar_sandbox_LDADD = libfrr.la
|
||||
|
||||
EXTRA_DIST = \
|
||||
queue.h \
|
||||
|
@ -137,7 +137,7 @@ extern void list_add_list (struct list *, struct list *);
|
||||
|
||||
/* Deprecated: 20050406 */
|
||||
#if !defined(QUAGGA_NO_DEPRECATED_INTERFACES)
|
||||
#warning "Using deprecated libzebra interfaces"
|
||||
#warning "Using deprecated libfrr interfaces"
|
||||
#define LISTNODE_ADD(L,N) LISTNODE_ATTACH(L,N)
|
||||
#define LISTNODE_DELETE(L,N) LISTNODE_DETACH(L,N)
|
||||
#define nextnode(X) ((X) = (X)->next)
|
||||
|
@ -19,11 +19,12 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "memory.h"
|
||||
#include "log.h"
|
||||
|
||||
static struct memgroup *mg_first = NULL;
|
||||
struct memgroup **mg_insert = &mg_first;
|
||||
|
||||
DEFINE_MGROUP(LIB, "libzebra")
|
||||
DEFINE_MGROUP(LIB, "libfrr")
|
||||
DEFINE_MTYPE(LIB, TMP, "Temporary memory")
|
||||
|
||||
static inline void
|
||||
|
@ -362,8 +362,8 @@ thread_master_create (void)
|
||||
#if defined(HAVE_POLL)
|
||||
rv->handler.pfdsize = rv->fd_limit;
|
||||
rv->handler.pfdcount = 0;
|
||||
rv->handler.pfds = (struct pollfd *) malloc (sizeof (struct pollfd) * rv->handler.pfdsize);
|
||||
memset (rv->handler.pfds, 0, sizeof (struct pollfd) * rv->handler.pfdsize);
|
||||
rv->handler.pfds = XCALLOC (MTYPE_THREAD_MASTER,
|
||||
sizeof (struct pollfd) * rv->handler.pfdsize);
|
||||
#endif
|
||||
return rv;
|
||||
}
|
||||
|
@ -243,7 +243,7 @@ extern int thread_should_yield (struct thread *);
|
||||
/* set yield time for thread */
|
||||
extern void thread_set_yield_time (struct thread *, unsigned long);
|
||||
|
||||
/* Internal libzebra exports */
|
||||
/* Internal libfrr exports */
|
||||
extern void thread_getrusage (RUSAGE_T *);
|
||||
extern void thread_cmd_init (void);
|
||||
|
||||
|
@ -28,7 +28,7 @@ noinst_HEADERS = \
|
||||
ospf6d_SOURCES = \
|
||||
ospf6_main.c $(libospf6_a_SOURCES)
|
||||
|
||||
ospf6d_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
ospf6d_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
dist_examples_DATA = ospf6d.conf.sample
|
||||
|
@ -717,7 +717,7 @@ interface_up (struct thread *thread)
|
||||
if (IS_OSPF6_DEBUG_INTERFACE)
|
||||
zlog_debug ("Interface %s has no link local address, can't execute [InterfaceUp]",
|
||||
oi->interface->name);
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Recompute cost */
|
||||
|
@ -1,16 +1,17 @@
|
||||
## Automake.am for OSPF API client
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
|
||||
AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
|
||||
AM_CFLAGS = $(WERROR)
|
||||
|
||||
lib_LTLIBRARIES = libospfapiclient.la
|
||||
libospfapiclient_la_LDFLAGS = -version-info 0:0:0
|
||||
libospfapiclient_la_LIBADD = ../ospfd/libospf.la ../lib/libzebra.la
|
||||
lib_LTLIBRARIES = libfrrospfapiclient.la
|
||||
libfrrospfapiclient_la_LDFLAGS = -version-info 0:0:0
|
||||
libfrrospfapiclient_la_LIBADD = ../lib/libfrr.la
|
||||
|
||||
sbin_PROGRAMS = ospfclient
|
||||
|
||||
libospfapiclient_la_SOURCES = \
|
||||
ospf_apiclient.c
|
||||
libfrrospfapiclient_la_SOURCES = \
|
||||
ospf_apiclient.c ../ospfd/ospf_dump_api.c ../ospfd/ospf_api.c
|
||||
|
||||
ospfapiheaderdir = $(pkgincludedir)/ospfapi
|
||||
|
||||
@ -20,8 +21,8 @@ ospfapiheader_HEADERS = \
|
||||
ospfclient_SOURCES = \
|
||||
ospfclient.c
|
||||
|
||||
ospfclient_LDADD = libospfapiclient.la \
|
||||
../ospfd/libospf.la ../lib/libzebra.la @LIBCAP@
|
||||
ospfclient_LDADD = libfrrospfapiclient.la \
|
||||
../lib/libfrr.la @LIBCAP@
|
||||
|
||||
ospfclient_CFLAGS = $(AM_CFLAGS)
|
||||
ospfclient_LDFLAGS = $(AM_LDFLAGS)
|
||||
|
@ -49,7 +49,8 @@
|
||||
|
||||
#include "ospf_apiclient.h"
|
||||
|
||||
DEFINE_MTYPE_STATIC(OSPFD, OSPF_APICLIENT, "OSPF-API client")
|
||||
DEFINE_MGROUP(OSPFCLIENT, "libospfapiclient")
|
||||
DEFINE_MTYPE_STATIC(OSPFCLIENT, OSPF_APICLIENT, "OSPF-API client")
|
||||
|
||||
/* Backlog for listen */
|
||||
#define BACKLOG 5
|
||||
|
@ -52,7 +52,7 @@ struct zebra_privs_t ospfd_privs =
|
||||
};
|
||||
|
||||
/* The following includes are specific to this application. For
|
||||
example it uses threads from libzebra, however your application is
|
||||
example it uses threads from libfrr, however your application is
|
||||
free to use any thread library (like pthreads). */
|
||||
|
||||
#include "ospfd/ospf_dump.h" /* for ospf_lsa_header_dump */
|
||||
|
@ -5,25 +5,23 @@ AM_CFLAGS = $(WERROR)
|
||||
DEFS = @DEFS@ $(LOCAL_OPTS) -DSYSCONFDIR=\"$(sysconfdir)/\"
|
||||
INSTALL_SDATA=@INSTALL@ -m 600
|
||||
|
||||
lib_LTLIBRARIES = libospf.la
|
||||
libospf_la_LDFLAGS = -version-info 0:0:0
|
||||
libospf_la_LIBADD = ../lib/libzebra.la
|
||||
|
||||
noinst_LIBRARIES = libfrrospf.a
|
||||
sbin_PROGRAMS = ospfd
|
||||
|
||||
libospf_la_SOURCES = \
|
||||
libfrrospf_a_SOURCES = \
|
||||
ospfd.c ospf_zebra.c ospf_interface.c ospf_ism.c ospf_neighbor.c \
|
||||
ospf_nsm.c ospf_dump.c ospf_network.c ospf_packet.c ospf_lsa.c \
|
||||
ospf_spf.c ospf_route.c ospf_ase.c ospf_abr.c ospf_ia.c ospf_flood.c \
|
||||
ospf_lsdb.c ospf_asbr.c ospf_routemap.c ospf_snmp.c \
|
||||
ospf_opaque.c ospf_te.c ospf_ri.c ospf_vty.c ospf_api.c ospf_apiserver.c \
|
||||
ospf_bfd.c ospf_memory.c
|
||||
ospf_bfd.c ospf_memory.c ospf_dump_api.c
|
||||
|
||||
ospfdheaderdir = $(pkgincludedir)/ospfd
|
||||
|
||||
ospfdheader_HEADERS = \
|
||||
ospf_api.h ospf_asbr.h ospf_dump.h ospf_lsa.h ospf_lsdb.h \
|
||||
ospf_nsm.h ospf_ism.h ospf_opaque.h ospfd.h
|
||||
ospf_nsm.h ospf_ism.h ospf_opaque.h ospfd.h \
|
||||
ospf_dump_api.h
|
||||
|
||||
noinst_HEADERS = \
|
||||
ospf_interface.h ospf_neighbor.h ospf_network.h ospf_packet.h \
|
||||
@ -33,7 +31,7 @@ noinst_HEADERS = \
|
||||
|
||||
ospfd_SOURCES = ospf_main.c
|
||||
|
||||
ospfd_LDADD = libospf.la ../lib/libzebra.la @LIBCAP@ @LIBM@
|
||||
ospfd_LDADD = libfrrospf.a ../lib/libfrr.la @LIBCAP@ @LIBM@
|
||||
|
||||
EXTRA_DIST = OSPF-MIB.txt OSPF-TRAP-MIB.txt ChangeLog.opaque.txt
|
||||
|
||||
|
@ -701,7 +701,7 @@ ospf_abr_translate_nssa (struct ospf_area *area, struct ospf_lsa *lsa)
|
||||
zlog_debug ("ospf_abr_translate_nssa(): Could not translate "
|
||||
"Type-7 for %s to Type-5",
|
||||
inet_ntoa (lsa->data->id));
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -948,11 +948,11 @@ ospf_abr_announce_network (struct ospf *ospf,
|
||||
zlog_debug ("ospf_abr_announce_network(): "
|
||||
"this is intra-area route to %s/%d",
|
||||
inet_ntoa (p->prefix), p->prefixlen);
|
||||
if ((range = ospf_area_range_match (or_area, p))
|
||||
&& !ospf_area_is_transit (area))
|
||||
ospf_abr_update_aggregate (range, or, area);
|
||||
else
|
||||
ospf_abr_announce_network_to_area (p, or->cost, area);
|
||||
if ((range = ospf_area_range_match (or_area, p))
|
||||
&& !ospf_area_is_transit (area))
|
||||
ospf_abr_update_aggregate (range, or, area);
|
||||
else
|
||||
ospf_abr_announce_network_to_area (p, or->cost, area);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -43,89 +43,6 @@
|
||||
#include "ospfd/ospf_packet.h"
|
||||
#include "ospfd/ospf_network.h"
|
||||
|
||||
const struct message ospf_ism_state_msg[] =
|
||||
{
|
||||
{ ISM_DependUpon, "DependUpon" },
|
||||
{ ISM_Down, "Down" },
|
||||
{ ISM_Loopback, "Loopback" },
|
||||
{ ISM_Waiting, "Waiting" },
|
||||
{ ISM_PointToPoint, "Point-To-Point" },
|
||||
{ ISM_DROther, "DROther" },
|
||||
{ ISM_Backup, "Backup" },
|
||||
{ ISM_DR, "DR" },
|
||||
};
|
||||
const int ospf_ism_state_msg_max = OSPF_ISM_STATE_MAX;
|
||||
|
||||
const struct message ospf_nsm_state_msg[] =
|
||||
{
|
||||
{ NSM_DependUpon, "DependUpon" },
|
||||
{ NSM_Deleted, "Deleted" },
|
||||
{ NSM_Down, "Down" },
|
||||
{ NSM_Attempt, "Attempt" },
|
||||
{ NSM_Init, "Init" },
|
||||
{ NSM_TwoWay, "2-Way" },
|
||||
{ NSM_ExStart, "ExStart" },
|
||||
{ NSM_Exchange, "Exchange" },
|
||||
{ NSM_Loading, "Loading" },
|
||||
{ NSM_Full, "Full" },
|
||||
};
|
||||
const int ospf_nsm_state_msg_max = OSPF_NSM_STATE_MAX;
|
||||
|
||||
const struct message ospf_lsa_type_msg[] =
|
||||
{
|
||||
{ OSPF_UNKNOWN_LSA, "unknown" },
|
||||
{ OSPF_ROUTER_LSA, "router-LSA" },
|
||||
{ OSPF_NETWORK_LSA, "network-LSA" },
|
||||
{ OSPF_SUMMARY_LSA, "summary-LSA" },
|
||||
{ OSPF_ASBR_SUMMARY_LSA, "summary-LSA" },
|
||||
{ OSPF_AS_EXTERNAL_LSA, "AS-external-LSA" },
|
||||
{ OSPF_GROUP_MEMBER_LSA, "GROUP MEMBER LSA" },
|
||||
{ OSPF_AS_NSSA_LSA, "NSSA-LSA" },
|
||||
{ 8, "Type-8 LSA" },
|
||||
{ OSPF_OPAQUE_LINK_LSA, "Link-Local Opaque-LSA" },
|
||||
{ OSPF_OPAQUE_AREA_LSA, "Area-Local Opaque-LSA" },
|
||||
{ OSPF_OPAQUE_AS_LSA, "AS-external Opaque-LSA" },
|
||||
};
|
||||
const int ospf_lsa_type_msg_max = OSPF_MAX_LSA;
|
||||
|
||||
const struct message ospf_link_state_id_type_msg[] =
|
||||
{
|
||||
{ OSPF_UNKNOWN_LSA, "(unknown)" },
|
||||
{ OSPF_ROUTER_LSA, "" },
|
||||
{ OSPF_NETWORK_LSA, "(address of Designated Router)" },
|
||||
{ OSPF_SUMMARY_LSA, "(summary Network Number)" },
|
||||
{ OSPF_ASBR_SUMMARY_LSA, "(AS Boundary Router address)" },
|
||||
{ OSPF_AS_EXTERNAL_LSA, "(External Network Number)" },
|
||||
{ OSPF_GROUP_MEMBER_LSA, "(Group membership information)" },
|
||||
{ OSPF_AS_NSSA_LSA, "(External Network Number for NSSA)" },
|
||||
{ 8, "(Type-8 LSID)" },
|
||||
{ OSPF_OPAQUE_LINK_LSA, "(Link-Local Opaque-Type/ID)" },
|
||||
{ OSPF_OPAQUE_AREA_LSA, "(Area-Local Opaque-Type/ID)" },
|
||||
{ OSPF_OPAQUE_AS_LSA, "(AS-external Opaque-Type/ID)" },
|
||||
};
|
||||
const int ospf_link_state_id_type_msg_max = OSPF_MAX_LSA;
|
||||
|
||||
const struct message ospf_network_type_msg[] =
|
||||
{
|
||||
{ OSPF_IFTYPE_NONE, "NONE" },
|
||||
{ OSPF_IFTYPE_POINTOPOINT, "Point-to-Point" },
|
||||
{ OSPF_IFTYPE_BROADCAST, "Broadcast" },
|
||||
{ OSPF_IFTYPE_NBMA, "NBMA" },
|
||||
{ OSPF_IFTYPE_POINTOMULTIPOINT, "Point-to-MultiPoint" },
|
||||
{ OSPF_IFTYPE_VIRTUALLINK, "Virtual-Link" },
|
||||
};
|
||||
const int ospf_network_type_msg_max = OSPF_IFTYPE_MAX;
|
||||
|
||||
/* AuType */
|
||||
const struct message ospf_auth_type_str[] =
|
||||
{
|
||||
{ OSPF_AUTH_NULL, "Null" },
|
||||
{ OSPF_AUTH_SIMPLE, "Simple" },
|
||||
{ OSPF_AUTH_CRYPTOGRAPHIC, "Cryptographic" },
|
||||
};
|
||||
const size_t ospf_auth_type_str_max = sizeof (ospf_auth_type_str) /
|
||||
sizeof (ospf_auth_type_str[0]);
|
||||
|
||||
/* Configuration debug option variables. */
|
||||
unsigned long conf_debug_ospf_packet[5] = {0, 0, 0, 0, 0};
|
||||
unsigned long conf_debug_ospf_event = 0;
|
||||
@ -323,25 +240,6 @@ ospf_timer_dump (struct thread *t, char *buf, size_t size)
|
||||
return ospf_timeval_dump (&result, buf, size);
|
||||
}
|
||||
|
||||
#define OSPF_OPTION_STR_MAXLEN 24
|
||||
|
||||
char *
|
||||
ospf_options_dump (u_char options)
|
||||
{
|
||||
static char buf[OSPF_OPTION_STR_MAXLEN];
|
||||
|
||||
snprintf (buf, OSPF_OPTION_STR_MAXLEN, "*|%s|%s|%s|%s|%s|%s|%s",
|
||||
(options & OSPF_OPTION_O) ? "O" : "-",
|
||||
(options & OSPF_OPTION_DC) ? "DC" : "-",
|
||||
(options & OSPF_OPTION_EA) ? "EA" : "-",
|
||||
(options & OSPF_OPTION_NP) ? "N/P" : "-",
|
||||
(options & OSPF_OPTION_MC) ? "MC" : "-",
|
||||
(options & OSPF_OPTION_E) ? "E" : "-",
|
||||
(options & OSPF_OPTION_MT) ? "M/T" : "-");
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
static void
|
||||
ospf_packet_hello_dump (struct stream *s, u_int16_t length)
|
||||
{
|
||||
@ -379,24 +277,6 @@ ospf_dd_flags_dump (u_char flags, char *buf, size_t size)
|
||||
return buf;
|
||||
}
|
||||
|
||||
void
|
||||
ospf_lsa_header_dump (struct lsa_header *lsah)
|
||||
{
|
||||
const char *lsah_type = LOOKUP (ospf_lsa_type_msg, lsah->type);
|
||||
|
||||
zlog_debug (" LSA Header");
|
||||
zlog_debug (" LS age %d", ntohs (lsah->ls_age));
|
||||
zlog_debug (" Options %d (%s)", lsah->options,
|
||||
ospf_options_dump (lsah->options));
|
||||
zlog_debug (" LS type %d (%s)", lsah->type,
|
||||
(lsah->type ? lsah_type : "unknown type"));
|
||||
zlog_debug (" Link State ID %s", inet_ntoa (lsah->id));
|
||||
zlog_debug (" Advertising Router %s", inet_ntoa (lsah->adv_router));
|
||||
zlog_debug (" LS sequence number 0x%lx", (u_long)ntohl (lsah->ls_seqnum));
|
||||
zlog_debug (" LS checksum 0x%x", ntohs (lsah->checksum));
|
||||
zlog_debug (" length %d", ntohs (lsah->length));
|
||||
}
|
||||
|
||||
static char *
|
||||
ospf_router_lsa_flags_dump (u_char flags, char *buf, size_t size)
|
||||
{
|
||||
|
@ -126,20 +126,16 @@ extern unsigned long term_debug_ospf_te;
|
||||
|
||||
/* Message Strings. */
|
||||
extern char *ospf_lsa_type_str[];
|
||||
extern const struct message ospf_auth_type_str[];
|
||||
extern const size_t ospf_auth_type_str_max;
|
||||
|
||||
/* Prototypes. */
|
||||
extern const char *ospf_area_name_string (struct ospf_area *);
|
||||
extern const char *ospf_area_desc_string (struct ospf_area *);
|
||||
extern const char *ospf_if_name_string (struct ospf_interface *);
|
||||
extern void ospf_nbr_state_message (struct ospf_neighbor *, char *, size_t);
|
||||
extern char *ospf_options_dump (u_char);
|
||||
extern const char *ospf_timer_dump (struct thread *, char *, size_t);
|
||||
extern const char *ospf_timeval_dump (struct timeval *, char *, size_t);
|
||||
extern void ospf_ip_header_dump (struct ip *);
|
||||
extern void ospf_packet_dump (struct stream *);
|
||||
extern void ospf_lsa_header_dump (struct lsa_header *);
|
||||
extern void debug_init (void);
|
||||
|
||||
/* Appropriate buffer size to use with ospf_timer_dump and ospf_timeval_dump: */
|
||||
|
151
ospfd/ospf_dump_api.c
Normal file
151
ospfd/ospf_dump_api.c
Normal file
@ -0,0 +1,151 @@
|
||||
/*
|
||||
* OSPFd dump routine (parts used by ospfclient).
|
||||
* Copyright (C) 1999, 2000 Toshiaki Takada
|
||||
*
|
||||
* This file is part of FreeRangeRouting (FRR).
|
||||
*
|
||||
* FRR 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, or (at your option) any later version.
|
||||
*
|
||||
* FRR 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 FRR; see the file COPYING. If not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <zebra.h>
|
||||
|
||||
#include "log.h"
|
||||
#include "prefix.h"
|
||||
|
||||
#include "ospf_dump_api.h"
|
||||
#include "ospfd.h"
|
||||
#include "ospf_asbr.h"
|
||||
#include "ospf_lsa.h"
|
||||
#include "ospf_nsm.h"
|
||||
#include "ospf_ism.h"
|
||||
|
||||
const struct message ospf_ism_state_msg[] =
|
||||
{
|
||||
{ ISM_DependUpon, "DependUpon" },
|
||||
{ ISM_Down, "Down" },
|
||||
{ ISM_Loopback, "Loopback" },
|
||||
{ ISM_Waiting, "Waiting" },
|
||||
{ ISM_PointToPoint, "Point-To-Point" },
|
||||
{ ISM_DROther, "DROther" },
|
||||
{ ISM_Backup, "Backup" },
|
||||
{ ISM_DR, "DR" },
|
||||
};
|
||||
const int ospf_ism_state_msg_max = OSPF_ISM_STATE_MAX;
|
||||
|
||||
const struct message ospf_nsm_state_msg[] =
|
||||
{
|
||||
{ NSM_DependUpon, "DependUpon" },
|
||||
{ NSM_Deleted, "Deleted" },
|
||||
{ NSM_Down, "Down" },
|
||||
{ NSM_Attempt, "Attempt" },
|
||||
{ NSM_Init, "Init" },
|
||||
{ NSM_TwoWay, "2-Way" },
|
||||
{ NSM_ExStart, "ExStart" },
|
||||
{ NSM_Exchange, "Exchange" },
|
||||
{ NSM_Loading, "Loading" },
|
||||
{ NSM_Full, "Full" },
|
||||
};
|
||||
const int ospf_nsm_state_msg_max = OSPF_NSM_STATE_MAX;
|
||||
|
||||
const struct message ospf_lsa_type_msg[] =
|
||||
{
|
||||
{ OSPF_UNKNOWN_LSA, "unknown" },
|
||||
{ OSPF_ROUTER_LSA, "router-LSA" },
|
||||
{ OSPF_NETWORK_LSA, "network-LSA" },
|
||||
{ OSPF_SUMMARY_LSA, "summary-LSA" },
|
||||
{ OSPF_ASBR_SUMMARY_LSA, "summary-LSA" },
|
||||
{ OSPF_AS_EXTERNAL_LSA, "AS-external-LSA" },
|
||||
{ OSPF_GROUP_MEMBER_LSA, "GROUP MEMBER LSA" },
|
||||
{ OSPF_AS_NSSA_LSA, "NSSA-LSA" },
|
||||
{ 8, "Type-8 LSA" },
|
||||
{ OSPF_OPAQUE_LINK_LSA, "Link-Local Opaque-LSA" },
|
||||
{ OSPF_OPAQUE_AREA_LSA, "Area-Local Opaque-LSA" },
|
||||
{ OSPF_OPAQUE_AS_LSA, "AS-external Opaque-LSA" },
|
||||
};
|
||||
const int ospf_lsa_type_msg_max = OSPF_MAX_LSA;
|
||||
|
||||
const struct message ospf_link_state_id_type_msg[] =
|
||||
{
|
||||
{ OSPF_UNKNOWN_LSA, "(unknown)" },
|
||||
{ OSPF_ROUTER_LSA, "" },
|
||||
{ OSPF_NETWORK_LSA, "(address of Designated Router)" },
|
||||
{ OSPF_SUMMARY_LSA, "(summary Network Number)" },
|
||||
{ OSPF_ASBR_SUMMARY_LSA, "(AS Boundary Router address)" },
|
||||
{ OSPF_AS_EXTERNAL_LSA, "(External Network Number)" },
|
||||
{ OSPF_GROUP_MEMBER_LSA, "(Group membership information)" },
|
||||
{ OSPF_AS_NSSA_LSA, "(External Network Number for NSSA)" },
|
||||
{ 8, "(Type-8 LSID)" },
|
||||
{ OSPF_OPAQUE_LINK_LSA, "(Link-Local Opaque-Type/ID)" },
|
||||
{ OSPF_OPAQUE_AREA_LSA, "(Area-Local Opaque-Type/ID)" },
|
||||
{ OSPF_OPAQUE_AS_LSA, "(AS-external Opaque-Type/ID)" },
|
||||
};
|
||||
const int ospf_link_state_id_type_msg_max = OSPF_MAX_LSA;
|
||||
|
||||
const struct message ospf_network_type_msg[] =
|
||||
{
|
||||
{ OSPF_IFTYPE_NONE, "NONE" },
|
||||
{ OSPF_IFTYPE_POINTOPOINT, "Point-to-Point" },
|
||||
{ OSPF_IFTYPE_BROADCAST, "Broadcast" },
|
||||
{ OSPF_IFTYPE_NBMA, "NBMA" },
|
||||
{ OSPF_IFTYPE_POINTOMULTIPOINT, "Point-to-MultiPoint" },
|
||||
{ OSPF_IFTYPE_VIRTUALLINK, "Virtual-Link" },
|
||||
};
|
||||
const int ospf_network_type_msg_max = OSPF_IFTYPE_MAX;
|
||||
|
||||
/* AuType */
|
||||
const struct message ospf_auth_type_str[] =
|
||||
{
|
||||
{ OSPF_AUTH_NULL, "Null" },
|
||||
{ OSPF_AUTH_SIMPLE, "Simple" },
|
||||
{ OSPF_AUTH_CRYPTOGRAPHIC, "Cryptographic" },
|
||||
};
|
||||
const size_t ospf_auth_type_str_max = sizeof (ospf_auth_type_str) /
|
||||
sizeof (ospf_auth_type_str[0]);
|
||||
|
||||
#define OSPF_OPTION_STR_MAXLEN 24
|
||||
|
||||
char *
|
||||
ospf_options_dump (u_char options)
|
||||
{
|
||||
static char buf[OSPF_OPTION_STR_MAXLEN];
|
||||
|
||||
snprintf (buf, OSPF_OPTION_STR_MAXLEN, "*|%s|%s|%s|%s|%s|%s|%s",
|
||||
(options & OSPF_OPTION_O) ? "O" : "-",
|
||||
(options & OSPF_OPTION_DC) ? "DC" : "-",
|
||||
(options & OSPF_OPTION_EA) ? "EA" : "-",
|
||||
(options & OSPF_OPTION_NP) ? "N/P" : "-",
|
||||
(options & OSPF_OPTION_MC) ? "MC" : "-",
|
||||
(options & OSPF_OPTION_E) ? "E" : "-",
|
||||
(options & OSPF_OPTION_MT) ? "M/T" : "-");
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
void
|
||||
ospf_lsa_header_dump (struct lsa_header *lsah)
|
||||
{
|
||||
const char *lsah_type = LOOKUP (ospf_lsa_type_msg, lsah->type);
|
||||
|
||||
zlog_debug (" LSA Header");
|
||||
zlog_debug (" LS age %d", ntohs (lsah->ls_age));
|
||||
zlog_debug (" Options %d (%s)", lsah->options,
|
||||
ospf_options_dump (lsah->options));
|
||||
zlog_debug (" LS type %d (%s)", lsah->type,
|
||||
(lsah->type ? lsah_type : "unknown type"));
|
||||
zlog_debug (" Link State ID %s", inet_ntoa (lsah->id));
|
||||
zlog_debug (" Advertising Router %s", inet_ntoa (lsah->adv_router));
|
||||
zlog_debug (" LS sequence number 0x%lx", (u_long)ntohl (lsah->ls_seqnum));
|
||||
zlog_debug (" LS checksum 0x%x", ntohs (lsah->checksum));
|
||||
zlog_debug (" length %d", ntohs (lsah->length));
|
||||
}
|
43
ospfd/ospf_dump_api.h
Normal file
43
ospfd/ospf_dump_api.h
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* OSPFd dump routine (parts used by ospfclient).
|
||||
* Copyright (C) 1999 Toshiaki Takada
|
||||
*
|
||||
* This file is part of FreeRangeRouting (FRR).
|
||||
*
|
||||
* FRR 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, or (at your option) any later version.
|
||||
*
|
||||
* FRR 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 FRR; see the file COPYING. If not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef _ZEBRA_OSPF_DUMP_API_H
|
||||
#define _ZEBRA_OSPF_DUMP_API_H
|
||||
|
||||
#include "log.h"
|
||||
struct lsa_header;
|
||||
|
||||
extern const struct message ospf_ism_state_msg[];
|
||||
extern const struct message ospf_nsm_state_msg[];
|
||||
extern const struct message ospf_lsa_type_msg[];
|
||||
extern const struct message ospf_link_state_id_type_msg[];
|
||||
extern const struct message ospf_network_type_msg[];
|
||||
extern const struct message ospf_auth_type_str[];
|
||||
extern const int ospf_ism_state_msg_max;
|
||||
extern const int ospf_nsm_state_msg_max;
|
||||
extern const int ospf_lsa_type_msg_max;
|
||||
extern const int ospf_link_state_id_type_msg_max;
|
||||
extern const int ospf_network_type_msg_max;
|
||||
extern const size_t ospf_auth_type_str_max;
|
||||
|
||||
extern char *ospf_options_dump (u_char);
|
||||
extern void ospf_lsa_header_dump (struct lsa_header *);
|
||||
|
||||
#endif /* _ZEBRA_OSPF_DUMP_API_H */
|
@ -114,8 +114,8 @@ ospf_router_id_update (struct ospf *ospf)
|
||||
else
|
||||
router_id = router_id_zebra;
|
||||
|
||||
|
||||
if (!IPV4_ADDR_SAME (&router_id_old, &router_id))
|
||||
|
||||
if (!IPV4_ADDR_SAME (&router_id_old, &router_id))
|
||||
{
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO (ospf->oiflist, node, oi))
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "log.h"
|
||||
|
||||
#include "ospf_memory.h"
|
||||
#include "ospf_dump_api.h"
|
||||
|
||||
#define OSPF_VERSION 2
|
||||
|
||||
@ -510,17 +511,7 @@ struct ospf_nbr_nbma
|
||||
|
||||
/* Extern variables. */
|
||||
extern struct ospf_master *om;
|
||||
extern const struct message ospf_ism_state_msg[];
|
||||
extern const struct message ospf_nsm_state_msg[];
|
||||
extern const struct message ospf_lsa_type_msg[];
|
||||
extern const struct message ospf_link_state_id_type_msg[];
|
||||
extern const struct message ospf_network_type_msg[];
|
||||
extern const int ospf_ism_state_msg_max;
|
||||
extern const int ospf_nsm_state_msg_max;
|
||||
extern const int ospf_lsa_type_msg_max;
|
||||
extern const int ospf_link_state_id_type_msg_max;
|
||||
extern const int ospf_redistributed_proto_max;
|
||||
extern const int ospf_network_type_msg_max;
|
||||
extern struct zclient *zclient;
|
||||
extern struct thread_master *master;
|
||||
extern int ospf_zlog;
|
||||
|
@ -72,8 +72,8 @@ pimd_SOURCES = \
|
||||
test_igmpv3_join_SOURCES = \
|
||||
test_igmpv3_join.c
|
||||
|
||||
pimd_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
test_igmpv3_join_LDADD = ../lib/libzebra.la
|
||||
pimd_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
test_igmpv3_join_LDADD = ../lib/libfrr.la
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
dist_examples_DATA = pimd.conf.sample
|
||||
|
@ -144,7 +144,7 @@ T22 DONE IGMP must be protected against adding looped MFC entries
|
||||
created by both source and receiver attached to the same
|
||||
interface.
|
||||
|
||||
T23 DONE libzebra crash after zclient_lookup_nexthop.
|
||||
T23 DONE libfrr crash after zclient_lookup_nexthop.
|
||||
See mailing list post:
|
||||
http://lists.nongnu.org/archive/html/qpimd-users/2009-04/msg00008.html
|
||||
|
||||
|
@ -21,7 +21,7 @@ noinst_HEADERS = \
|
||||
ripd_SOURCES = \
|
||||
rip_main.c $(librip_a_SOURCES)
|
||||
|
||||
ripd_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
ripd_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
dist_examples_DATA = ripd.conf.sample
|
||||
|
@ -2283,8 +2283,8 @@ rip_output_process (struct connected *ifc, struct sockaddr_in *to,
|
||||
{
|
||||
if (IS_RIP_DEBUG_PACKET)
|
||||
zlog_debug ("RIP %s/%d is filtered by route-map out",
|
||||
inet_ntoa (p->prefix), p->prefixlen);
|
||||
continue;
|
||||
inet_ntoa (p->prefix), p->prefixlen);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,7 @@ noinst_HEADERS = \
|
||||
ripngd_SOURCES = \
|
||||
ripng_main.c $(libripng_a_SOURCES)
|
||||
|
||||
ripngd_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
ripngd_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
dist_examples_DATA = ripngd.conf.sample
|
||||
|
@ -1,12 +1,10 @@
|
||||
i pkginfo=$abs_builddir/pkginfo.dev.full
|
||||
i depend=$abs_builddir/depend.dev
|
||||
i copying=$abs_top_srcdir/COPYING
|
||||
f none @libdir@/libzebra.la=$DESTDIR/@libdir@/libzebra.la 0755 root bin
|
||||
f none @libdir@/libzebra.a=$DESTDIR/@libdir@/libzebra.a 0644 root bin
|
||||
f none @libdir@/libospf.la=$DESTDIR/@libdir@/libospf.la 0755 root bin
|
||||
f none @libdir@/libospf.a=$DESTDIR/@libdir@/libospf.a 0644 root bin
|
||||
f none @libdir@/libospfapiclient.la=$DESTDIR/@libdir@/libospfapiclient.la 0755 root bin
|
||||
f none @libdir@/libospfapiclient.a=$DESTDIR/@libdir@/libospfapiclient.a 0644 root bin
|
||||
f none @libdir@/libfrr.la=$DESTDIR/@libdir@/libfrr.la 0755 root bin
|
||||
f none @libdir@/libfrr.a=$DESTDIR/@libdir@/libfrr.a 0644 root bin
|
||||
f none @libdir@/libfrrospfapiclient.la=$DESTDIR/@libdir@/libfrrospfapiclient.la 0755 root bin
|
||||
f none @libdir@/libfrrospfapiclient.a=$DESTDIR/@libdir@/libfrrospfapiclient.a 0644 root bin
|
||||
d none @includedir@=$DESTDIR/@includedir@ 0755 root bin
|
||||
d none @includedir@/frr=$DESTDIR/@includedir@/frr 0755 root bin
|
||||
d none @includedir@/frr/ospfd=$DESTDIR/@includedir@/frr/ospfd 0755 root bin
|
||||
|
@ -2,12 +2,9 @@ i pkginfo=$abs_builddir/pkginfo.libs.full
|
||||
i depend=$abs_builddir/depend.libs
|
||||
i copying=$abs_top_srcdir/COPYING
|
||||
d none @libdir@=$DESTDIR/@libdir@ 0755 root bin
|
||||
s none @libdir@/libzebra.so.0=libzebra.so.0.0.0
|
||||
f none @libdir@/libzebra.so.0.0.0=$DESTDIR/@libdir@/libzebra.so.0.0.0 0755 root bin
|
||||
s none @libdir@/libzebra.so=libzebra.so.0.0.0
|
||||
s none @libdir@/libospf.so.0=libospf.so.0.0.0
|
||||
f none @libdir@/libospf.so.0.0.0=$DESTDIR/@libdir@/libospf.so.0.0.0 0755 root bin
|
||||
s none @libdir@/libospf.so=libospf.so.0.0.0
|
||||
f none @libdir@/libospfapiclient.so.0.0.0=$DESTDIR/@libdir@/libospfapiclient.so.0.0.0 0755 root bin
|
||||
s none @libdir@/libospfapiclient.so.0=libospfapiclient.so.0.0.0
|
||||
s none @libdir@/libospfapiclient.so=libospfapiclient.so.0.0.0
|
||||
s none @libdir@/libfrr.so.0=libfrr.so.0.0.0
|
||||
f none @libdir@/libfrr.so.0.0.0=$DESTDIR/@libdir@/libfrr.so.0.0.0 0755 root bin
|
||||
s none @libdir@/libfrr.so=libfrr.so.0.0.0
|
||||
f none @libdir@/libfrrospfapiclient.so.0.0.0=$DESTDIR/@libdir@/libfrrospfapiclient.so.0.0.0 0755 root bin
|
||||
s none @libdir@/libfrrospfapiclient.so.0=libfrrospfapiclient.so.0.0.0
|
||||
s none @libdir@/libfrrospfapiclient.so=libfrrospfapiclient.so.0.0.0
|
||||
|
@ -1,14 +1,14 @@
|
||||
AUTOMAKE_OPTIONS = dejagnu
|
||||
DEJATOOL = libzebra
|
||||
DEJATOOL = libfrr
|
||||
|
||||
SUBDIRS = \
|
||||
bgpd.tests \
|
||||
libzebra.tests
|
||||
libfrr.tests
|
||||
|
||||
EXTRA_DIST = \
|
||||
config/unix.exp \
|
||||
lib/bgpd.exp \
|
||||
lib/libzebra.exp \
|
||||
lib/libfrr.exp \
|
||||
global-conf.exp \
|
||||
testcommands.in \
|
||||
testcommands.refout \
|
||||
@ -75,25 +75,25 @@ test_timer_correctness_SOURCES = test-timer-correctness.c prng.c
|
||||
test_timer_performance_SOURCES = test-timer-performance.c prng.c
|
||||
test_srcdest_table_SOURCES = test-srcdest-table.c prng.c
|
||||
|
||||
testcli_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testsig_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testsegv_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testbuffer_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testmemory_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testprivs_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
teststream_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
heavy_LDADD = ../lib/libzebra.la @LIBCAP@ -lm
|
||||
heavywq_LDADD = ../lib/libzebra.la @LIBCAP@ -lm
|
||||
heavythread_LDADD = ../lib/libzebra.la @LIBCAP@ -lm
|
||||
aspathtest_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libzebra.la @LIBCAP@ -lm
|
||||
testbgpcap_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libzebra.la @LIBCAP@ -lm
|
||||
ecommtest_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libzebra.la @LIBCAP@ -lm
|
||||
testbgpmpattr_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libzebra.la @LIBCAP@ -lm
|
||||
testchecksum_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testbgpmpath_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libzebra.la @LIBCAP@ -lm
|
||||
tabletest_LDADD = ../lib/libzebra.la @LIBCAP@ -lm
|
||||
testnexthopiter_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testcommands_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
test_timer_correctness_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
test_timer_performance_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
test_srcdest_table_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testcli_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
testsig_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
testsegv_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
testbuffer_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
testmemory_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
testprivs_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
teststream_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
heavy_LDADD = ../lib/libfrr.la @LIBCAP@ -lm
|
||||
heavywq_LDADD = ../lib/libfrr.la @LIBCAP@ -lm
|
||||
heavythread_LDADD = ../lib/libfrr.la @LIBCAP@ -lm
|
||||
aspathtest_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ -lm
|
||||
testbgpcap_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ -lm
|
||||
ecommtest_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ -lm
|
||||
testbgpmpattr_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ -lm
|
||||
testchecksum_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
testbgpmpath_LDADD = ../bgpd/libbgp.a $(BGP_VNC_RFP_LIB) ../lib/libfrr.la @LIBCAP@ -lm
|
||||
tabletest_LDADD = ../lib/libfrr.la @LIBCAP@ -lm
|
||||
testnexthopiter_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
testcommands_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
test_timer_correctness_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
test_timer_performance_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
test_srcdest_table_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
|
@ -44,7 +44,7 @@ extern vector cmdvec;
|
||||
extern struct cmd_node vty_node;
|
||||
extern void test_init_cmd(void); /* provided in test-commands-defun.c */
|
||||
|
||||
struct thread_master *master; /* dummy for libzebra*/
|
||||
struct thread_master *master; /* dummy for libfrr*/
|
||||
|
||||
static vector test_cmds;
|
||||
static char test_buf[32768];
|
||||
|
@ -5,7 +5,7 @@ EXTRA_DIST =
|
||||
|
||||
bin_PROGRAMS = permutations
|
||||
permutations_SOURCES = permutations.c
|
||||
permutations_LDADD = ../lib/libzebra.la
|
||||
permutations_LDADD = ../lib/libfrr.la
|
||||
|
||||
sbin_SCRIPTS = frr-reload.py frr
|
||||
|
||||
|
@ -30,7 +30,7 @@ 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/libzebra.la @LIBCAP@ @LIBREADLINE@
|
||||
vtysh_LDADD = ../lib/libfrr.la @LIBCAP@ @LIBREADLINE@
|
||||
|
||||
examplesdir = $(exampledir)
|
||||
dist_examples_DATA = vtysh.conf.sample
|
||||
|
@ -49,7 +49,7 @@ DECLARE_MGROUP(MVTYSH)
|
||||
|
||||
/* vtysh local configuration file. */
|
||||
#define VTYSH_DEFAULT_CONFIG "vtysh.conf"
|
||||
#define QUAGGA_DEFAULT_CONFIG "Quagga.conf"
|
||||
#define FRR_DEFAULT_CONFIG "Frr.conf"
|
||||
|
||||
enum vtysh_write_integrated {
|
||||
WRITE_INTEGRATED_UNSPECIFIED,
|
||||
|
@ -46,7 +46,7 @@ char *progname;
|
||||
|
||||
/* Configuration file name and directory. */
|
||||
static char vtysh_config_always[MAXPATHLEN] = SYSCONFDIR VTYSH_DEFAULT_CONFIG;
|
||||
static char quagga_config_default[MAXPATHLEN] = SYSCONFDIR QUAGGA_DEFAULT_CONFIG;
|
||||
static char quagga_config_default[MAXPATHLEN] = SYSCONFDIR FRR_DEFAULT_CONFIG;
|
||||
char *quagga_config = quagga_config_default;
|
||||
char history_file[MAXPATHLEN];
|
||||
|
||||
@ -357,17 +357,17 @@ main (int argc, char **argv, char **env)
|
||||
/*
|
||||
* Overwrite location for Quagga.conf
|
||||
*/
|
||||
vtysh_configfile_name = strrchr(QUAGGA_DEFAULT_CONFIG, '/');
|
||||
vtysh_configfile_name = strrchr(FRR_DEFAULT_CONFIG, '/');
|
||||
if (vtysh_configfile_name)
|
||||
/* skip '/' */
|
||||
vtysh_configfile_name++;
|
||||
else
|
||||
/*
|
||||
* QUAGGA_DEFAULT_CONFIG configured with relative path
|
||||
* FRR_DEFAULT_CONFIG configured with relative path
|
||||
* during config? Should really never happen for
|
||||
* sensible config
|
||||
*/
|
||||
vtysh_configfile_name = (char *) QUAGGA_DEFAULT_CONFIG;
|
||||
vtysh_configfile_name = (char *) FRR_DEFAULT_CONFIG;
|
||||
strlcpy(quagga_config_default, optarg, sizeof(vtysh_config_always));
|
||||
strlcat(quagga_config_default, "/", sizeof(vtysh_config_always));
|
||||
strlcat(quagga_config_default, vtysh_configfile_name,
|
||||
|
@ -10,4 +10,4 @@ sbin_PROGRAMS = watchfrr
|
||||
noinst_HEADERS = watchfrr.h
|
||||
|
||||
watchfrr_SOURCES = watchfrr.c watchfrr_vty.c
|
||||
watchfrr_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
watchfrr_LDADD = ../lib/libfrr.la @LIBCAP@
|
||||
|
@ -62,7 +62,7 @@
|
||||
|
||||
#define PING_TOKEN "PING"
|
||||
|
||||
/* Needs to be global, referenced somewhere inside libzebra. */
|
||||
/* Needs to be global, referenced somewhere inside libfrr. */
|
||||
struct thread_master *master;
|
||||
|
||||
typedef enum {
|
||||
|
@ -62,9 +62,9 @@ noinst_HEADERS = \
|
||||
zebra_ns.h zebra_vrf.h ioctl_solaris.h zebra_static.h zebra_mpls.h \
|
||||
kernel_netlink.h if_netlink.h zebra_mroute.h
|
||||
|
||||
zebra_LDADD = $(otherobj) ../lib/libzebra.la $(LIBCAP) $(Q_FPM_PB_CLIENT_LDOPTS)
|
||||
zebra_LDADD = $(otherobj) ../lib/libfrr.la $(LIBCAP) $(Q_FPM_PB_CLIENT_LDOPTS)
|
||||
|
||||
testzebra_LDADD = ../lib/libzebra.la $(LIBCAP)
|
||||
testzebra_LDADD = ../lib/libfrr.la $(LIBCAP)
|
||||
|
||||
zebra_DEPENDENCIES = $(otherobj)
|
||||
|
||||
@ -77,7 +77,7 @@ EXTRA_DIST = if_ioctl.c if_ioctl_solaris.c if_netlink.c \
|
||||
zebra_mpls_netlink.c zebra_mpls_openbsd.c \
|
||||
GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB
|
||||
|
||||
client : client_main.o ../lib/libzebra.la
|
||||
client : client_main.o ../lib/libfrr.la
|
||||
$(CC) -g -o client client_main.o ../liblzebra.la $(LIBS) $(LIB_IPV6)
|
||||
|
||||
quaggaconfdir = $(sysconfdir)
|
||||
|
@ -63,7 +63,7 @@ pid_t pid;
|
||||
/* VTY Socket prefix */
|
||||
char vty_sock_path[MAXPATHLEN] = ZEBRA_VTYSH_PATH;
|
||||
|
||||
/* Pacify zclient.o in libzebra, which expects this variable. */
|
||||
/* Pacify zclient.o in libfrr, which expects this variable. */
|
||||
struct thread_master *master;
|
||||
|
||||
/* Route retain mode flag. */
|
||||
|
@ -56,7 +56,7 @@ int allow_delete = 0;
|
||||
/* zebra_rib's workqueue hold time. Private export for use by test code only */
|
||||
extern int rib_process_hold_time;
|
||||
|
||||
/* Pacify zclient.o in libzebra, which expects this variable. */
|
||||
/* Pacify zclient.o in libfrr, which expects this variable. */
|
||||
struct thread_master *master;
|
||||
|
||||
/* Command line options. */
|
||||
|
Loading…
Reference in New Issue
Block a user