]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_br.c
Merge pull request #11918 from patrasar/show_ipv6_mld_interface_fix
[mirror_frr.git] / pimd / pim_br.c
index b3fc8969b8874908536692cf2e79bb433ef63cc3..6ec6b11e7bcf4b36c54ebbbff1a8c546e9b5b50a 100644 (file)
 
 struct pim_br {
        pim_sgaddr sg;
-       struct in_addr pmbr;
+       pim_addr pmbr;
 };
 
-struct in_addr pim_br_unknown = {.s_addr = 0};
-
 static struct list *pim_br_list = NULL;
 
-struct in_addr pim_br_get_pmbr(pim_sgaddr *sg)
+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 (sg->src.s_addr == pim_br->sg.src.s_addr
-                   && sg->grp.s_addr == pim_br->sg.grp.s_addr)
+               if (!pim_sgaddr_cmp(*sg, pim_br->sg))
                        return pim_br->pmbr;
        }
 
-       return pim_br_unknown;
+       return PIMADDR_ANY;
 }
 
-void pim_br_set_pmbr(pim_sgaddr *sg, struct in_addr br)
+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 (sg->src.s_addr == pim_br->sg.src.s_addr
-                   && sg->grp.s_addr == pim_br->sg.grp.s_addr)
+               if (!pim_sgaddr_cmp(*sg, pim_br->sg))
                        break;
        }
 
@@ -81,8 +77,7 @@ void pim_br_clear_pmbr(pim_sgaddr *sg)
        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)
+               if (!pim_sgaddr_cmp(*sg, pim_br->sg))
                        break;
        }