diff --git a/pimd/pim_br.c b/pimd/pim_br.c deleted file mode 100644 index 6ec6b11e7b..0000000000 --- a/pimd/pim_br.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * PIM for Quagga - * Copyright (C) 2015 Cumulus Networks, Inc. - * Donald Sharp - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; see the file COPYING; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include - -#include "memory.h" -#include "log.h" -#include "if.h" - -#include "pimd.h" -#include "pim_str.h" -#include "pim_br.h" -#include "linklist.h" - -struct pim_br { - pim_sgaddr sg; - pim_addr pmbr; -}; - -static struct list *pim_br_list = NULL; - -pim_addr pim_br_get_pmbr(pim_sgaddr *sg) -{ - struct listnode *node; - struct pim_br *pim_br; - - for (ALL_LIST_ELEMENTS_RO(pim_br_list, node, pim_br)) { - if (!pim_sgaddr_cmp(*sg, pim_br->sg)) - return pim_br->pmbr; - } - - return PIMADDR_ANY; -} - -void pim_br_set_pmbr(pim_sgaddr *sg, pim_addr br) -{ - struct listnode *node, *next; - struct pim_br *pim_br; - - for (ALL_LIST_ELEMENTS(pim_br_list, node, next, pim_br)) { - if (!pim_sgaddr_cmp(*sg, pim_br->sg)) - break; - } - - if (!pim_br) { - pim_br = XCALLOC(MTYPE_PIM_BR, sizeof(*pim_br)); - pim_br->sg = *sg; - - listnode_add(pim_br_list, pim_br); - } - - pim_br->pmbr = br; -} - -/* - * Remove the (S,G) from the stored values - */ -void pim_br_clear_pmbr(pim_sgaddr *sg) -{ - struct listnode *node, *next; - struct pim_br *pim_br; - - for (ALL_LIST_ELEMENTS(pim_br_list, node, next, pim_br)) { - if (!pim_sgaddr_cmp(*sg, pim_br->sg)) - break; - } - - if (!pim_br) - return; - - listnode_delete(pim_br_list, pim_br); -} - -void pim_br_init(void) -{ - pim_br_list = list_new(); -} diff --git a/pimd/pim_br.h b/pimd/pim_br.h deleted file mode 100644 index 7b87c0f1fd..0000000000 --- a/pimd/pim_br.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * PIM for Quagga - * Copyright (C) 2015 Cumulus Networks, Inc. - * Donald Sharp - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; see the file COPYING; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#ifndef PIM_BR_H -#define PIM_BR_H - -pim_addr pim_br_get_pmbr(pim_sgaddr *sg); - -void pim_br_set_pmbr(pim_sgaddr *sg, pim_addr value); -void pim_br_clear_pmbr(pim_sgaddr *sg); - -void pim_br_init(void); - -#endif diff --git a/pimd/pim_memory.c b/pimd/pim_memory.c index 1d811d9001..1780b60a65 100644 --- a/pimd/pim_memory.c +++ b/pimd/pim_memory.c @@ -37,7 +37,6 @@ DEFINE_MTYPE(PIMD, PIM_IFCHANNEL, "PIM interface (S,G) state"); DEFINE_MTYPE(PIMD, PIM_UPSTREAM, "PIM upstream (S,G) state"); DEFINE_MTYPE(PIMD, PIM_SSMPINGD, "PIM sspimgd socket"); DEFINE_MTYPE(PIMD, PIM_STATIC_ROUTE, "PIM Static Route"); -DEFINE_MTYPE(PIMD, PIM_BR, "PIM Bridge Router info"); DEFINE_MTYPE(PIMD, PIM_RP, "PIM RP info"); DEFINE_MTYPE(PIMD, PIM_FILTER_NAME, "PIM RP filter info"); DEFINE_MTYPE(PIMD, PIM_MSDP_PEER, "PIM MSDP peer"); diff --git a/pimd/pim_memory.h b/pimd/pim_memory.h index 4e5fcde7dd..385c81052e 100644 --- a/pimd/pim_memory.h +++ b/pimd/pim_memory.h @@ -36,7 +36,6 @@ DECLARE_MTYPE(PIM_IFCHANNEL); DECLARE_MTYPE(PIM_UPSTREAM); DECLARE_MTYPE(PIM_SSMPINGD); DECLARE_MTYPE(PIM_STATIC_ROUTE); -DECLARE_MTYPE(PIM_BR); DECLARE_MTYPE(PIM_RP); DECLARE_MTYPE(PIM_FILTER_NAME); DECLARE_MTYPE(PIM_MSDP_PEER); diff --git a/pimd/pim_register.c b/pimd/pim_register.c index 4e2c44b172..a37759e0d2 100644 --- a/pimd/pim_register.c +++ b/pimd/pim_register.c @@ -36,7 +36,6 @@ #include "pim_rp.h" #include "pim_register.h" #include "pim_upstream.h" -#include "pim_br.h" #include "pim_rpf.h" #include "pim_oil.h" #include "pim_zebra.h" @@ -642,24 +641,13 @@ int pim_register_recv(struct interface *ifp, pim_addr dest_addr, } if (*bits & PIM_REGISTER_BORDER_BIT) { - pim_addr pimbr = pim_br_get_pmbr(&sg); if (PIM_DEBUG_PIM_PACKETS) zlog_debug( - "%s: Received Register message with Border bit set", + "%s: Received Register message with Border bit set, ignoring", __func__); - if (pim_addr_is_any(pimbr)) - pim_br_set_pmbr(&sg, src_addr); - else if (pim_addr_cmp(src_addr, pimbr)) { - pim_register_stop_send(ifp, &sg, dest_addr, - src_addr); - if (PIM_DEBUG_PIM_PACKETS) - zlog_debug( - "%s: Sending register-Stop to %s and dropping mr. packet", - __func__, "Sender"); /* Drop Packet Silently */ - return 0; - } + return 0; } struct pim_upstream *upstream = pim_upstream_find(pim, &sg); diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index 0742daa4de..6b58fbb5cf 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -46,7 +46,6 @@ #include "pim_oil.h" #include "pim_macro.h" #include "pim_rp.h" -#include "pim_br.h" #include "pim_register.h" #include "pim_msdp.h" #include "pim_jp_agg.h" @@ -1422,8 +1421,8 @@ struct pim_upstream *pim_upstream_keep_alive_timer_proc( } if (I_am_RP(pim, up->sg.grp)) { - pim_br_clear_pmbr(&up->sg); /* + * Handle Border Router * We need to do more here :) * But this is the start. */ diff --git a/pimd/subdir.am b/pimd/subdir.am index aa06b86479..54292bba24 100644 --- a/pimd/subdir.am +++ b/pimd/subdir.am @@ -21,7 +21,6 @@ pim_common = \ pimd/pim_addr.c \ pimd/pim_assert.c \ pimd/pim_bfd.c \ - pimd/pim_br.c \ pimd/pim_bsm.c \ pimd/pim_cmd_common.c \ pimd/pim_errors.c \ @@ -103,7 +102,6 @@ noinst_HEADERS += \ pimd/pim_addr.h \ pimd/pim_assert.h \ pimd/pim_bfd.h \ - pimd/pim_br.h \ pimd/pim_bsm.h \ pimd/pim_cmd.h \ pimd/pim_cmd_common.h \