]> git.puffer.fish Git - mirror/frr.git/commitdiff
pim6d: Add pim_addr rp_addr in bsm_rpinfo
authorsarita patra <saritap@vmware.com>
Wed, 16 Feb 2022 12:09:23 +0000 (04:09 -0800)
committerSarita Patra <saritap@vmware.com>
Thu, 7 Jul 2022 17:56:43 +0000 (10:56 -0700)
Signed-off-by: sarita patra <saritap@vmware.com>
pimd/pim_bsm.c
pimd/pim_cmd.c

index 722851cc16cc942c51543b8e11e7063919d47319..4a9bd2487a9a5c580351e0c9fee1913fe85eaedc 100644 (file)
@@ -130,9 +130,9 @@ int pim_bsm_rpinfo_cmp(const struct bsm_rpinfo *node1,
                return 1;
        if (node1->hash > node2->hash)
                return -1;
-       if (node1->rp_address.s_addr < node2->rp_address.s_addr)
+       if (pim_addr_cmp(node1->rp_address, node2->rp_address) < 0)
                return 1;
-       if (node1->rp_address.s_addr > node2->rp_address.s_addr)
+       if (pim_addr_cmp(node1->rp_address, node2->rp_address) > 0)
                return -1;
        return 0;
 }
@@ -173,7 +173,6 @@ static void pim_on_bs_timer(struct thread *t)
                           __func__, scope->sz_id);
 
        pim_nht_bsr_del(scope->pim, scope->current_bsr);
-
        /* Reset scope zone data */
        scope->accept_nofwd_bsm = false;
        scope->state = ACCEPT_ANY;
@@ -353,10 +352,9 @@ static void pim_g2rp_timer_start(struct bsm_rpinfo *bsrp, int hold_time)
        THREAD_OFF(bsrp->g2rp_timer);
        if (PIM_DEBUG_BSM)
                zlog_debug(
-                       "%s : starting g2rp timer for grp: %pFX - rp: %pI4 with timeout  %d secs(Actual Hold time : %d secs)",
-                       __func__, &bsrp->bsgrp_node->group,
-                       &bsrp->rp_address, hold_time,
-                       bsrp->rp_holdtime);
+                       "%s : starting g2rp timer for grp: %pFX - rp: %pPAs with timeout  %d secs(Actual Hold time : %d secs)",
+                       __func__, &bsrp->bsgrp_node->group, &bsrp->rp_address,
+                       hold_time, bsrp->rp_holdtime);
 
        thread_add_timer(router->master, pim_on_g2rp_timer, bsrp, hold_time,
                         &bsrp->g2rp_timer);
@@ -374,7 +372,7 @@ static void pim_g2rp_timer_stop(struct bsm_rpinfo *bsrp)
                return;
 
        if (PIM_DEBUG_BSM)
-               zlog_debug("%s : stopping g2rp timer for grp: %pFX - rp: %pI4",
+               zlog_debug("%s : stopping g2rp timer for grp: %pFX - rp: %pPAs",
                           __func__, &bsrp->bsgrp_node->group,
                           &bsrp->rp_address);
 
@@ -462,8 +460,7 @@ static void pim_instate_pend_list(struct bsgrp_node *bsgrp_node)
                route_unlock_node(rn);
 
                if (active && pend) {
-                       if ((active->rp_address.s_addr
-                            != pend->rp_address.s_addr))
+                       if (pim_addr_cmp(active->rp_address, pend->rp_address))
                                pim_rp_change(pim, pend->rp_address,
                                              bsgrp_node->group, RP_SRC_BSR);
                }
@@ -552,7 +549,7 @@ static bool is_preferred_bsr(struct pim_instance *pim, pim_addr bsr,
 static void pim_bsm_update(struct pim_instance *pim, pim_addr bsr,
                           uint32_t bsr_prio)
 {
-       if (bsr.s_addr != pim->global_scope.current_bsr.s_addr) {
+       if (pim_addr_cmp(bsr, pim->global_scope.current_bsr)) {
                pim_nht_bsr_del(pim, pim->global_scope.current_bsr);
                pim_nht_bsr_add(pim, bsr);
 
index cffbb5baa77174c9c7c24a5437924c651e262096..e3dde9bcce29c1bd1882db475b5ae4db9fa9eaf9 100644 (file)
@@ -1036,27 +1036,23 @@ static void pim_show_group_rp_mappings_info(struct pim_instance *pim,
                }
 
                frr_each (bsm_rpinfos, bsgrp->bsrp_list, bsm_rp) {
-                       char rp_str[INET_ADDRSTRLEN];
-
-                       pim_inet4_dump("<Rp Address?>", bsm_rp->rp_address,
-                                      rp_str, sizeof(rp_str));
-
                        if (uj) {
                                json_row = json_object_new_object();
-                               json_object_string_add(json_row, "Rp Address",
-                                                      rp_str);
+                               json_object_string_addf(json_row, "Rp Address",
+                                                       "%pPA",
+                                                       &bsm_rp->rp_address);
                                json_object_int_add(json_row, "Rp HoldTime",
                                                    bsm_rp->rp_holdtime);
                                json_object_int_add(json_row, "Rp Priority",
                                                    bsm_rp->rp_prio);
                                json_object_int_add(json_row, "Hash Val",
                                                    bsm_rp->hash);
-                               json_object_object_add(json_group, rp_str,
-                                                      json_row);
+                               json_object_object_addf(json_group, json_row,
+                                                       "%pPA", &bsm_rp->rp_address);
 
                        } else {
-                               vty_out(vty, "%-15s %-15u %-15u %-15u\n",
-                                       rp_str, bsm_rp->rp_prio,
+                               vty_out(vty, "%-15pPA %-15u %-15u %-15u\n",
+                                       &bsm_rp->rp_address, bsm_rp->rp_prio,
                                        bsm_rp->rp_holdtime, bsm_rp->hash);
                        }
                }
@@ -1077,26 +1073,23 @@ static void pim_show_group_rp_mappings_info(struct pim_instance *pim,
                }
 
                frr_each (bsm_rpinfos, bsgrp->partial_bsrp_list, bsm_rp) {
-                       char rp_str[INET_ADDRSTRLEN];
-
-                       pim_inet4_dump("<Rp Addr?>", bsm_rp->rp_address, rp_str,
-                                      sizeof(rp_str));
-
                        if (uj) {
                                json_row = json_object_new_object();
-                               json_object_string_add(json_row, "Rp Address",
-                                                      rp_str);
+                               json_object_string_addf(json_row, "Rp Address",
+                                                       "%pPA",
+                                                       &bsm_rp->rp_address);
                                json_object_int_add(json_row, "Rp HoldTime",
                                                    bsm_rp->rp_holdtime);
                                json_object_int_add(json_row, "Rp Priority",
                                                    bsm_rp->rp_prio);
                                json_object_int_add(json_row, "Hash Val",
                                                    bsm_rp->hash);
-                               json_object_object_add(json_group, rp_str,
-                                                      json_row);
+                               json_object_object_addf(json_group, json_row,
+                                                       "%pPA",
+                                                       &bsm_rp->rp_address);
                        } else {
-                               vty_out(vty, "%-15s %-15u %-15u %-15u\n",
-                                       rp_str, bsm_rp->rp_prio,
+                               vty_out(vty, "%-15pPA %-15u %-15u %-15u\n",
+                                       &bsm_rp->rp_address, bsm_rp->rp_prio,
                                        bsm_rp->rp_holdtime, bsm_rp->hash);
                        }
                }