X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=pimd%2Fpim_br.c;h=fc6a02ec9316c8a7d8632dcc53f278cf7be15325;hb=86afd5292f1769c6c1c1db7a1e65f09fed27b87d;hp=3f84de79c8d0d4267b33f43009f2b77e4c3ddf76;hpb=fdb33a50e14b43765c9d17a83afa8a38a15b6611;p=mirror_frr.git diff --git a/pimd/pim_br.c b/pimd/pim_br.c index 3f84de79c..fc6a02ec9 100644 --- a/pimd/pim_br.c +++ b/pimd/pim_br.c @@ -13,10 +13,9 @@ * 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 + * 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 @@ -30,83 +29,70 @@ #include "linklist.h" struct pim_br { - struct prefix_sg sg; - struct in_addr pmbr; + struct prefix_sg sg; + struct in_addr pmbr; }; -struct in_addr pim_br_unknown = { .s_addr = 0 }; +struct in_addr pim_br_unknown = {.s_addr = 0}; static struct list *pim_br_list = NULL; -struct in_addr -pim_br_get_pmbr (struct prefix_sg *sg) +struct in_addr pim_br_get_pmbr(struct prefix_sg *sg) { - struct listnode *node; - struct pim_br *pim_br; + struct listnode *node; + struct pim_br *pim_br; - for (ALL_LIST_ELEMENTS_RO (pim_br_list, node, pim_br)) { - if (sg->src.s_addr == pim_br->sg.src.s_addr && - sg->grp.s_addr == pim_br->sg.grp.s_addr) - return pim_br->pmbr; - } + for (ALL_LIST_ELEMENTS_RO(pim_br_list, node, pim_br)) { + if (sg->src.s_addr == pim_br->sg.src.s_addr + && sg->grp.s_addr == pim_br->sg.grp.s_addr) + return pim_br->pmbr; + } - return pim_br_unknown; + return pim_br_unknown; } -void -pim_br_set_pmbr (struct prefix_sg *sg, struct in_addr br) +void pim_br_set_pmbr(struct prefix_sg *sg, struct in_addr br) { - struct listnode *node, *next; - struct pim_br *pim_br; + struct listnode *node, *next; + struct pim_br *pim_br; - for (ALL_LIST_ELEMENTS (pim_br_list, node, next, pim_br)) { - if (sg->src.s_addr == pim_br->sg.src.s_addr && - sg->grp.s_addr == pim_br->sg.grp.s_addr) - break; - } + for (ALL_LIST_ELEMENTS(pim_br_list, node, next, pim_br)) { + if (sg->src.s_addr == pim_br->sg.src.s_addr + && sg->grp.s_addr == pim_br->sg.grp.s_addr) + break; + } - if (!pim_br) { - pim_br = XCALLOC(MTYPE_PIM_BR, sizeof (*pim_br)); - if (!pim_br) { - zlog_err("PIM XCALLOC(%zu) failure", sizeof(*pim_br)); - return; - } + if (!pim_br) { + pim_br = XCALLOC(MTYPE_PIM_BR, sizeof(*pim_br)); + pim_br->sg = *sg; - pim_br->sg = *sg; + listnode_add(pim_br_list, pim_br); + } - listnode_add(pim_br_list, pim_br); - } - - pim_br->pmbr = br; + pim_br->pmbr = br; } /* * Remove the (S,G) from the stored values */ -void -pim_br_clear_pmbr (struct prefix_sg *sg) +void pim_br_clear_pmbr(struct prefix_sg *sg) { - struct listnode *node, *next; - struct pim_br *pim_br; + struct listnode *node, *next; + struct pim_br *pim_br; - for (ALL_LIST_ELEMENTS (pim_br_list, node, next, pim_br)) { - if (sg->src.s_addr == pim_br->sg.src.s_addr && - sg->grp.s_addr == pim_br->sg.grp.s_addr) - break; - } + for (ALL_LIST_ELEMENTS(pim_br_list, node, next, pim_br)) { + if (sg->src.s_addr == pim_br->sg.src.s_addr + && sg->grp.s_addr == pim_br->sg.grp.s_addr) + break; + } - if (!pim_br) - return; + if (!pim_br) + return; - listnode_delete (pim_br_list, pim_br); + listnode_delete(pim_br_list, pim_br); } -void pim_br_init (void) +void pim_br_init(void) { - pim_br_list = list_new(); - if (!pim_br_list) { - zlog_err("%s: Failure to create pim_br_list", - __PRETTY_FUNCTION__); - return; - } + pim_br_list = list_new(); }