summaryrefslogtreecommitdiffstats
path: root/pimd
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-05-27 01:31:38 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-05-27 01:31:38 +0200
commit0e8ce7e607fcd85a27fae0aa70757e1ac61d501f (patch)
tree360f016636ef3fc85334c5bcbdb61ac4a97b3356 /pimd
parentvtysh: vtysh_pam() needs an ifdef USE_PAM check (diff)
downloadfrr-0e8ce7e607fcd85a27fae0aa70757e1ac61d501f.tar.xz
frr-0e8ce7e607fcd85a27fae0aa70757e1ac61d501f.zip
pimd: Add ability to safely ignore route-maps
pim was not parsing route-map code and causing issues using vtysh because of this. Add code to safely ignore the route-map code and set us up for future expansion into route-maps if neeeded. Ticket: CM-11219 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd')
-rw-r--r--pimd/Makefile.am2
-rw-r--r--pimd/pim_main.c4
-rw-r--r--pimd/pim_routemap.c33
-rw-r--r--pimd/pimd.h2
4 files changed, 40 insertions, 1 deletions
diff --git a/pimd/Makefile.am b/pimd/Makefile.am
index e4243e1f6..b4d94d2f3 100644
--- a/pimd/Makefile.am
+++ b/pimd/Makefile.am
@@ -53,7 +53,7 @@ libpim_a_SOURCES = \
pim_hello.c pim_ifchannel.c pim_join.c pim_assert.c \
pim_msg.c pim_upstream.c pim_rpf.c pim_macro.c \
pim_igmp_join.c pim_ssmpingd.c pim_int.c pim_rp.c \
- pim_static.c pim_br.c pim_register.c
+ pim_static.c pim_br.c pim_register.c pim_routemap.c
noinst_HEADERS = \
pimd.h pim_version.h pim_cmd.h pim_signals.h pim_iface.h \
diff --git a/pimd/pim_main.c b/pimd/pim_main.c
index c9b11d107..b172b22d1 100644
--- a/pimd/pim_main.c
+++ b/pimd/pim_main.c
@@ -35,6 +35,8 @@
#include "vty.h"
#include "sigevent.h"
#include "version.h"
+#include "prefix.h"
+#include "plist.h"
#include "vrf.h"
#include "pimd.h"
@@ -200,6 +202,8 @@ int main(int argc, char** argv, char** envp) {
memory_init();
vrf_init ();
access_list_init();
+ prefix_list_init ();
+ pim_route_map_init ();
pim_init();
/*
diff --git a/pimd/pim_routemap.c b/pimd/pim_routemap.c
new file mode 100644
index 000000000..56868ae09
--- /dev/null
+++ b/pimd/pim_routemap.c
@@ -0,0 +1,33 @@
+/* PIM Route-map Code
+ * Copyright (C) 2016 Cumulus Networks <sharpd@cumulusnetworks.com>
+ * Copyright (C) 1999 Kunihiro Ishiguro <kunihiro@zebra.org>
+ *
+ * This file is part of Quagga
+ *
+ * Quagga 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.
+ *
+ * Quagga 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 Quagga; 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 "routemap.h"
+
+#include "pimd.h"
+
+void
+pim_route_map_init (void)
+{
+ route_map_init ();
+ route_map_init_vty ();
+}
diff --git a/pimd/pimd.h b/pimd/pimd.h
index 3b7210729..2a5cd3953 100644
--- a/pimd/pimd.h
+++ b/pimd/pimd.h
@@ -169,4 +169,6 @@ extern int32_t qpim_register_probe_time;
void pim_init(void);
void pim_terminate(void);
+extern void pim_route_map_init (void);
+
#endif /* PIMD_H */