From 0e8ce7e607fcd85a27fae0aa70757e1ac61d501f Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 26 May 2016 19:31:38 -0400 Subject: [PATCH] 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 --- pimd/Makefile.am | 2 +- pimd/pim_main.c | 4 ++++ pimd/pim_routemap.c | 33 +++++++++++++++++++++++++++++++++ pimd/pimd.h | 2 ++ 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 pimd/pim_routemap.c diff --git a/pimd/Makefile.am b/pimd/Makefile.am index e4243e1f6a..b4d94d2f3c 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 c9b11d1075..b172b22d10 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 0000000000..56868ae093 --- /dev/null +++ b/pimd/pim_routemap.c @@ -0,0 +1,33 @@ +/* PIM Route-map Code + * Copyright (C) 2016 Cumulus Networks + * Copyright (C) 1999 Kunihiro Ishiguro + * + * 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 + +#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 3b72107290..2a5cd3953f 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 */ -- 2.39.5