]> git.proxmox.com Git - mirror_frr.git/commitdiff
pimd: replace pim_inet4_dump with `%pPAs`
authorDavid Lamparter <equinox@opensourcerouting.org>
Wed, 5 Jan 2022 18:12:12 +0000 (19:12 +0100)
committerDavid Lamparter <equinox@opensourcerouting.org>
Mon, 17 Jan 2022 13:10:57 +0000 (14:10 +0100)
Only pim_sgaddr uses are covered by this since regular in_addr is still
used for singular addresses, so only a part of pim_inet4_dump calls are
gone with this.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
pimd/pim_assert.c
pimd/pim_cmd.c
pimd/pim_ifchannel.c
pimd/pim_join.c
pimd/pim_zebra.c

index 79b46994aaf25dd19f78517cf48249509f5bf555..3c38ebd76b899e6dbc62072c2fdee33e3a541c17 100644 (file)
@@ -287,15 +287,13 @@ int pim_assert_recv(struct interface *ifp, struct pim_neighbor *neigh,
        if (PIM_DEBUG_PIM_TRACE) {
                char neigh_str[INET_ADDRSTRLEN];
                char source_str[INET_ADDRSTRLEN];
-               char group_str[INET_ADDRSTRLEN];
                pim_inet4_dump("<neigh?>", src_addr, neigh_str,
                               sizeof(neigh_str));
                pim_inet4_dump("<src?>", msg_source_addr.u.prefix4, source_str,
                               sizeof(source_str));
-               pim_inet4_dump("<grp?>", sg.grp, group_str, sizeof(group_str));
                zlog_debug(
-                       "%s: from %s on %s: (S,G)=(%s,%s) pref=%u metric=%u rpt_bit=%u",
-                       __func__, neigh_str, ifp->name, source_str, group_str,
+                       "%s: from %s on %s: (S,G)=(%s,%pPAs) pref=%u metric=%u rpt_bit=%u",
+                       __func__, neigh_str, ifp->name, source_str, &sg.grp,
                        msg_metric.metric_preference, msg_metric.route_metric,
                        PIM_FORCE_BOOLEAN(msg_metric.rpt_bit_flag));
        }
index 6b74c925072eafe3dacb622737a4171b5b89562e..123c9824a44a8c78983b1d2bf19eb76220aa1d9c 100644 (file)
@@ -108,8 +108,6 @@ static void pim_show_assert_helper(struct vty *vty,
                                   struct pim_interface *pim_ifp,
                                   struct pim_ifchannel *ch, time_t now)
 {
-       char ch_src_str[INET_ADDRSTRLEN];
-       char ch_grp_str[INET_ADDRSTRLEN];
        char winner_str[INET_ADDRSTRLEN];
        struct in_addr ifaddr;
        char uptime[10];
@@ -118,18 +116,16 @@ static void pim_show_assert_helper(struct vty *vty,
 
        ifaddr = pim_ifp->primary_address;
 
-       pim_inet4_dump("<ch_src?>", ch->sg.src, ch_src_str, sizeof(ch_src_str));
-       pim_inet4_dump("<ch_grp?>", ch->sg.grp, ch_grp_str, sizeof(ch_grp_str));
        pim_inet4_dump("<assrt_win?>", ch->ifassert_winner, winner_str,
                       sizeof(winner_str));
 
        pim_time_uptime(uptime, sizeof(uptime), now - ch->ifassert_creation);
        pim_time_timer_to_mmss(timer, sizeof(timer), ch->t_ifassert_timer);
 
-       vty_out(vty, "%-16s %-15s %-15s %-15s %-6s %-15s %-8s %-5s\n",
+       vty_out(vty, "%-16s %-15s %-15pPAs %-15pPAs %-6s %-15s %-8s %-5s\n",
                ch->interface->name,
-               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)), ch_src_str,
-               ch_grp_str, pim_ifchannel_ifassert_name(ch->ifassert_state),
+               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)), &ch->sg.src,
+               &ch->sg.grp, pim_ifchannel_ifassert_name(ch->ifassert_state),
                winner_str, uptime, timer);
 }
 
@@ -160,19 +156,15 @@ static void pim_show_assert_internal_helper(struct vty *vty,
                                            struct pim_interface *pim_ifp,
                                            struct pim_ifchannel *ch)
 {
-       char ch_src_str[INET_ADDRSTRLEN];
-       char ch_grp_str[INET_ADDRSTRLEN];
        struct in_addr ifaddr;
        char buf[PREFIX_STRLEN];
 
        ifaddr = pim_ifp->primary_address;
 
-       pim_inet4_dump("<ch_src?>", ch->sg.src, ch_src_str, sizeof(ch_src_str));
-       pim_inet4_dump("<ch_grp?>", ch->sg.grp, ch_grp_str, sizeof(ch_grp_str));
-       vty_out(vty, "%-16s %-15s %-15s %-15s %-3s %-3s %-3s %-4s\n",
+       vty_out(vty, "%-16s %-15s %-15pPAs %-15pPAs %-3s %-3s %-3s %-4s\n",
                ch->interface->name,
-               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)),
-               ch_src_str, ch_grp_str,
+               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)), &ch->sg.src,
+               &ch->sg.grp,
                PIM_IF_FLAG_TEST_COULD_ASSERT(ch->flags) ? "yes" : "no",
                pim_macro_ch_could_assert_eval(ch) ? "yes" : "no",
                PIM_IF_FLAG_TEST_ASSERT_TRACKING_DESIRED(ch->flags) ? "yes"
@@ -209,8 +201,6 @@ static void pim_show_assert_metric_helper(struct vty *vty,
                                          struct pim_interface *pim_ifp,
                                          struct pim_ifchannel *ch)
 {
-       char ch_src_str[INET_ADDRSTRLEN];
-       char ch_grp_str[INET_ADDRSTRLEN];
        char addr_str[INET_ADDRSTRLEN];
        struct pim_assert_metric am;
        struct in_addr ifaddr;
@@ -221,14 +211,12 @@ static void pim_show_assert_metric_helper(struct vty *vty,
        am = pim_macro_spt_assert_metric(&ch->upstream->rpf,
                                         pim_ifp->primary_address);
 
-       pim_inet4_dump("<ch_src?>", ch->sg.src, ch_src_str, sizeof(ch_src_str));
-       pim_inet4_dump("<ch_grp?>", ch->sg.grp, ch_grp_str, sizeof(ch_grp_str));
        pim_inet4_dump("<addr?>", am.ip_address, addr_str, sizeof(addr_str));
 
-       vty_out(vty, "%-16s %-15s %-15s %-15s %-3s %4u %6u %-15s\n",
+       vty_out(vty, "%-16s %-15s %-15pPAs %-15pPAs %-3s %4u %6u %-15s\n",
                ch->interface->name,
-               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)),
-               ch_src_str, ch_grp_str, am.rpt_bit_flag ? "yes" : "no",
+               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)), &ch->sg.src,
+               &ch->sg.grp, am.rpt_bit_flag ? "yes" : "no",
                am.metric_preference, am.route_metric, addr_str);
 }
 
@@ -256,8 +244,6 @@ static void pim_show_assert_winner_metric_helper(struct vty *vty,
                                                 struct pim_interface *pim_ifp,
                                                 struct pim_ifchannel *ch)
 {
-       char ch_src_str[INET_ADDRSTRLEN];
-       char ch_grp_str[INET_ADDRSTRLEN];
        char addr_str[INET_ADDRSTRLEN];
        struct pim_assert_metric *am;
        struct in_addr ifaddr;
@@ -269,8 +255,6 @@ static void pim_show_assert_winner_metric_helper(struct vty *vty,
 
        am = &ch->ifassert_winner_metric;
 
-       pim_inet4_dump("<ch_src?>", ch->sg.src, ch_src_str, sizeof(ch_src_str));
-       pim_inet4_dump("<ch_grp?>", ch->sg.grp, ch_grp_str, sizeof(ch_grp_str));
        pim_inet4_dump("<addr?>", am->ip_address, addr_str, sizeof(addr_str));
 
        if (am->metric_preference == PIM_ASSERT_METRIC_PREFERENCE_MAX)
@@ -284,11 +268,11 @@ static void pim_show_assert_winner_metric_helper(struct vty *vty,
        else
                snprintf(metr_str, sizeof(metr_str), "%6u", am->route_metric);
 
-       vty_out(vty, "%-16s %-15s %-15s %-15s %-3s %-4s %-6s %-15s\n",
+       vty_out(vty, "%-16s %-15s %-15pPAs %-15pPAs %-3s %-4s %-6s %-15s\n",
                ch->interface->name,
-               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)), ch_src_str,
-               ch_grp_str, am->rpt_bit_flag ? "yes" : "no", pref_str, metr_str,
-               addr_str);
+               inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)), &ch->sg.src,
+               &ch->sg.grp, am->rpt_bit_flag ? "yes" : "no", pref_str,
+               metr_str, addr_str);
 }
 
 static void pim_show_assert_winner_metric(struct pim_instance *pim,
@@ -348,14 +332,10 @@ static void pim_show_membership_helper(struct vty *vty,
                                       struct pim_ifchannel *ch,
                                       struct json_object *json)
 {
-       char ch_src_str[INET_ADDRSTRLEN];
-       char ch_grp_str[INET_ADDRSTRLEN];
+       char ch_grp_str[PIM_ADDRSTRLEN];
        json_object *json_iface = NULL;
        json_object *json_row = NULL;
 
-       pim_inet4_dump("<ch_src?>", ch->sg.src, ch_src_str, sizeof(ch_src_str));
-       pim_inet4_dump("<ch_grp?>", ch->sg.grp, ch_grp_str, sizeof(ch_grp_str));
-
        json_object_object_get_ex(json, ch->interface->name, &json_iface);
        if (!json_iface) {
                json_iface = json_object_new_object();
@@ -363,8 +343,10 @@ static void pim_show_membership_helper(struct vty *vty,
                json_object_object_add(json, ch->interface->name, json_iface);
        }
 
+       snprintfrr(ch_grp_str, sizeof(ch_grp_str), "%pPAs", &ch->sg.grp);
+
        json_row = json_object_new_object();
-       json_object_string_add(json_row, "source", ch_src_str);
+       json_object_string_addf(json_row, "source", "%pPAs", &ch->sg.src);
        json_object_string_add(json_row, "group", ch_grp_str);
        json_object_string_add(json_row, "localMembership",
                               ch->local_ifmembership == PIM_IFMEMBERSHIP_NOINFO
@@ -372,6 +354,7 @@ static void pim_show_membership_helper(struct vty *vty,
                               : "INCLUDE");
        json_object_object_add(json_iface, ch_grp_str, json_row);
 }
+
 static void pim_show_membership(struct pim_instance *pim, struct vty *vty,
                                bool uj)
 {
@@ -1063,10 +1046,10 @@ static void pim_show_interfaces_single(struct pim_instance *pim,
                                        json_fhr_sources =
                                                json_object_new_object();
 
-                               pim_inet4_dump("<src?>", up->sg.src, src_str,
-                                              sizeof(src_str));
-                               pim_inet4_dump("<grp?>", up->sg.grp, grp_str,
-                                              sizeof(grp_str));
+                               snprintfrr(grp_str, sizeof(grp_str), "%pPAs",
+                                          &up->sg.grp);
+                               snprintfrr(src_str, sizeof(src_str), "%pPAs",
+                                          &up->sg.src);
                                pim_time_uptime(uptime, sizeof(uptime),
                                                now - up->state_transition);
 
@@ -1240,15 +1223,11 @@ static void pim_show_interfaces_single(struct pim_instance *pim,
                                        print_header = 0;
                                }
 
-                               pim_inet4_dump("<src?>", up->sg.src, src_str,
-                                              sizeof(src_str));
-                               pim_inet4_dump("<grp?>", up->sg.grp, grp_str,
-                                              sizeof(grp_str));
                                pim_time_uptime(uptime, sizeof(uptime),
                                                now - up->state_transition);
                                vty_out(vty,
-                                       "%s : %s is a source, uptime is %s\n",
-                                       grp_str, src_str, uptime);
+                                       "%pPAs : %pPAs is a source, uptime is %s\n",
+                                       &up->sg.grp, &up->sg.src, uptime);
                        }
 
                        if (!print_header) {
@@ -1681,8 +1660,6 @@ static void pim_show_join_helper(struct vty *vty, struct pim_interface *pim_ifp,
                                 struct pim_ifchannel *ch, json_object *json,
                                 time_t now, bool uj)
 {
-       char ch_src_str[INET_ADDRSTRLEN];
-       char ch_grp_str[INET_ADDRSTRLEN];
        json_object *json_iface = NULL;
        json_object *json_row = NULL;
        json_object *json_grp = NULL;
@@ -1694,9 +1671,6 @@ static void pim_show_join_helper(struct vty *vty, struct pim_interface *pim_ifp,
 
        ifaddr = pim_ifp->primary_address;
 
-       pim_inet4_dump("<ch_src?>", ch->sg.src, ch_src_str, sizeof(ch_src_str));
-       pim_inet4_dump("<ch_grp?>", ch->sg.grp, ch_grp_str, sizeof(ch_grp_str));
-
        pim_time_uptime_begin(uptime, sizeof(uptime), now, ch->ifjoin_creation);
        pim_time_timer_to_mmss(expire, sizeof(expire),
                               ch->t_ifjoin_expiry_timer);
@@ -1704,6 +1678,14 @@ static void pim_show_join_helper(struct vty *vty, struct pim_interface *pim_ifp,
                               ch->t_ifjoin_prune_pending_timer);
 
        if (uj) {
+               char ch_grp_str[PIM_ADDRSTRLEN];
+               char ch_src_str[PIM_ADDRSTRLEN];
+
+               snprintfrr(ch_grp_str, sizeof(ch_grp_str), "%pPAs",
+                          &ch->sg.grp);
+               snprintfrr(ch_src_str, sizeof(ch_src_str), "%pPAs",
+                          &ch->sg.src);
+
                json_object_object_get_ex(json, ch->interface->name,
                                          &json_iface);
 
@@ -1738,10 +1720,10 @@ static void pim_show_join_helper(struct vty *vty, struct pim_interface *pim_ifp,
                } else
                        json_object_object_add(json_grp, ch_src_str, json_row);
        } else {
-               vty_out(vty, "%-16s %-15s %-15s %-15s %-10s %8s %-6s %5s\n",
+               vty_out(vty, "%-16s %-15s %-15pPAs %-15pPAs %-10s %8s %-6s %5s\n",
                        ch->interface->name,
                        inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)),
-                       ch_src_str, ch_grp_str,
+                       &ch->sg.src, &ch->sg.grp,
                        pim_ifchannel_ifjoin_name(ch->ifjoin_state, ch->flags),
                        uptime, expire, prune);
        }
@@ -2459,8 +2441,6 @@ static void pim_show_upstream(struct pim_instance *pim, struct vty *vty,
                        "Iif             Source          Group           State       Uptime   JoinTimer RSTimer   KATimer   RefCnt\n");
 
        frr_each (rb_pim_upstream, &pim->upstream_head, up) {
-               char src_str[INET_ADDRSTRLEN];
-               char grp_str[INET_ADDRSTRLEN];
                char uptime[10];
                char join_timer[10];
                char rs_timer[10];
@@ -2471,8 +2451,6 @@ static void pim_show_upstream(struct pim_instance *pim, struct vty *vty,
                if (!pim_sgaddr_match(up->sg, *sg))
                        continue;
 
-               pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
                pim_time_uptime(uptime, sizeof(uptime),
                                now - up->state_transition);
                pim_time_timer_to_hhmmss(join_timer, sizeof(join_timer),
@@ -2513,6 +2491,14 @@ static void pim_show_upstream(struct pim_instance *pim, struct vty *vty,
                }
 
                if (uj) {
+                       char grp_str[PIM_ADDRSTRLEN];
+                       char src_str[PIM_ADDRSTRLEN];
+
+                       snprintfrr(grp_str, sizeof(grp_str), "%pPAs",
+                                  &up->sg.grp);
+                       snprintfrr(src_str, sizeof(src_str), "%pPAs",
+                                  &up->sg.src);
+
                        json_object_object_get_ex(json, grp_str, &json_group);
 
                        if (!json_group) {
@@ -2576,12 +2562,12 @@ static void pim_show_upstream(struct pim_instance *pim, struct vty *vty,
                        json_object_object_add(json_group, src_str, json_row);
                } else {
                        vty_out(vty,
-                               "%-16s%-15s %-15s %-11s %-8s %-9s %-9s %-9s %6d\n",
+                               "%-16s%-15pPAs %-15pPAs %-11s %-8s %-9s %-9s %-9s %6d\n",
                                up->rpf.source_nexthop.interface
                                ? up->rpf.source_nexthop.interface->name
                                : "Unknown",
-                               src_str, grp_str, state_str, uptime, join_timer,
-                               rs_timer, ka_timer, up->ref_count);
+                               &up->sg.src, &up->sg.grp, state_str, uptime,
+                               join_timer, rs_timer, ka_timer, up->ref_count);
                }
        }
 
@@ -2600,14 +2586,15 @@ static void pim_show_channel_helper(struct pim_instance *pim,
 {
        struct pim_upstream *up = ch->upstream;
        json_object *json_group = NULL;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        json_object *json_row = NULL;
 
-       pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-       pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
-
        if (uj) {
+               char grp_str[PIM_ADDRSTRLEN];
+               char src_str[PIM_ADDRSTRLEN];
+
+               snprintfrr(grp_str, sizeof(grp_str), "%pPAs", &up->sg.grp);
+               snprintfrr(src_str, sizeof(src_str), "%pPAs", &up->sg.src);
+
                json_object_object_get_ex(json, grp_str, &json_group);
 
                if (!json_group) {
@@ -2638,8 +2625,8 @@ static void pim_show_channel_helper(struct pim_instance *pim,
                json_object_object_add(json_group, src_str, json_row);
 
        } else {
-               vty_out(vty, "%-16s %-15s %-15s %-10s %-5s %-10s %-11s %-6s\n",
-                       ch->interface->name, src_str, grp_str,
+               vty_out(vty, "%-16s %-15pPAs %-15pPAs %-10s %-5s %-10s %-11s %-6s\n",
+                       ch->interface->name, &up->sg.src, &up->sg.grp,
                        pim_macro_ch_lost_assert(ch) ? "yes" : "no",
                        pim_macro_chisin_joins(ch) ? "yes" : "no",
                        pim_macro_chisin_pim_include(ch) ? "yes" : "no",
@@ -2693,14 +2680,15 @@ static void pim_show_join_desired_helper(struct pim_instance *pim,
                                         json_object *json, bool uj)
 {
        json_object *json_group = NULL;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        json_object *json_row = NULL;
 
-       pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-       pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
-
        if (uj) {
+               char grp_str[PIM_ADDRSTRLEN];
+               char src_str[PIM_ADDRSTRLEN];
+
+               snprintfrr(grp_str, sizeof(grp_str), "%pPAs", &up->sg.grp);
+               snprintfrr(src_str, sizeof(src_str), "%pPAs", &up->sg.src);
+
                json_object_object_get_ex(json, grp_str, &json_group);
 
                if (!json_group) {
@@ -2720,8 +2708,8 @@ static void pim_show_join_desired_helper(struct pim_instance *pim,
                json_object_object_add(json_group, src_str, json_row);
 
        } else {
-               vty_out(vty, "%-15s %-15s %-6s\n",
-                       src_str, grp_str,
+               vty_out(vty, "%-15pPAs %-15pPAs %-6s\n",
+                       &up->sg.src, &up->sg.grp,
                        pim_upstream_evaluate_join_desired(pim, up) ? "yes"
                        : "no");
        }
@@ -2768,8 +2756,6 @@ static void pim_show_upstream_rpf(struct pim_instance *pim, struct vty *vty,
                        "Source          Group           RpfIface         RibNextHop      RpfAddress     \n");
 
        frr_each (rb_pim_upstream, &pim->upstream_head, up) {
-               char src_str[INET_ADDRSTRLEN];
-               char grp_str[INET_ADDRSTRLEN];
                char rpf_nexthop_str[PREFIX_STRLEN];
                char rpf_addr_str[PREFIX_STRLEN];
                struct pim_rpf *rpf;
@@ -2777,8 +2763,6 @@ static void pim_show_upstream_rpf(struct pim_instance *pim, struct vty *vty,
 
                rpf = &up->rpf;
 
-               pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
                pim_addr_dump("<nexthop?>",
                              &rpf->source_nexthop.mrib_nexthop_addr,
                              rpf_nexthop_str, sizeof(rpf_nexthop_str));
@@ -2788,6 +2772,14 @@ static void pim_show_upstream_rpf(struct pim_instance *pim, struct vty *vty,
                rpf_ifname = rpf->source_nexthop.interface ? rpf->source_nexthop.interface->name : "<ifname?>";
 
                if (uj) {
+                       char grp_str[PIM_ADDRSTRLEN];
+                       char src_str[PIM_ADDRSTRLEN];
+
+                       snprintfrr(grp_str, sizeof(grp_str), "%pPAs",
+                                  &up->sg.grp);
+                       snprintfrr(src_str, sizeof(src_str), "%pPAs",
+                                  &up->sg.src);
+
                        json_object_object_get_ex(json, grp_str, &json_group);
 
                        if (!json_group) {
@@ -2808,9 +2800,9 @@ static void pim_show_upstream_rpf(struct pim_instance *pim, struct vty *vty,
                                               rpf_addr_str);
                        json_object_object_add(json_group, src_str, json_row);
                } else {
-                       vty_out(vty, "%-15s %-15s %-16s %-15s %-15s\n", src_str,
-                               grp_str, rpf_ifname, rpf_nexthop_str,
-                               rpf_addr_str);
+                       vty_out(vty, "%-15pPAs %-15pPAs %-16s %-15s %-15s\n",
+                               &up->sg.src, &up->sg.grp, rpf_ifname,
+                               rpf_nexthop_str, rpf_addr_str);
                }
        }
 
@@ -2905,15 +2897,11 @@ static void pim_show_rpf(struct pim_instance *pim, struct vty *vty, bool uj)
        }
 
        frr_each (rb_pim_upstream, &pim->upstream_head, up) {
-               char src_str[INET_ADDRSTRLEN];
-               char grp_str[INET_ADDRSTRLEN];
                char rpf_addr_str[PREFIX_STRLEN];
                char rib_nexthop_str[PREFIX_STRLEN];
                const char *rpf_ifname;
                struct pim_rpf *rpf = &up->rpf;
 
-               pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
                pim_addr_dump("<rpf?>", &rpf->rpf_addr, rpf_addr_str,
                              sizeof(rpf_addr_str));
                pim_addr_dump("<nexthop?>",
@@ -2923,6 +2911,14 @@ static void pim_show_rpf(struct pim_instance *pim, struct vty *vty, bool uj)
                rpf_ifname = rpf->source_nexthop.interface ? rpf->source_nexthop.interface->name : "<ifname?>";
 
                if (uj) {
+                       char grp_str[PIM_ADDRSTRLEN];
+                       char src_str[PIM_ADDRSTRLEN];
+
+                       snprintfrr(grp_str, sizeof(grp_str), "%pPAs",
+                                  &up->sg.grp);
+                       snprintfrr(src_str, sizeof(src_str), "%pPAs",
+                                  &up->sg.src);
+
                        json_object_object_get_ex(json, grp_str, &json_group);
 
                        if (!json_group) {
@@ -2949,9 +2945,9 @@ static void pim_show_rpf(struct pim_instance *pim, struct vty *vty, bool uj)
                        json_object_object_add(json_group, src_str, json_row);
 
                } else {
-                       vty_out(vty, "%-15s %-15s %-16s %-15s %-15s %6d %4d\n",
-                               src_str, grp_str, rpf_ifname, rpf_addr_str,
-                               rib_nexthop_str,
+                       vty_out(vty, "%-15pPAs %-15pPAs %-16s %-15s %-15s %6d %4d\n",
+                               &up->sg.src, &up->sg.grp, rpf_ifname,
+                               rpf_addr_str, rib_nexthop_str,
                                rpf->source_nexthop.mrib_route_metric,
                                rpf->source_nexthop.mrib_metric_preference);
                }
@@ -4674,18 +4670,13 @@ static void pim_show_jp_agg_helper(struct vty *vty,
                                   struct pim_upstream *up,
                                   int is_join)
 {
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        char rpf_str[INET_ADDRSTRLEN];
 
-       pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-       pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
        /* pius->address.s_addr */
        pim_inet4_dump("<rpf?>", neigh->source_addr, rpf_str, sizeof(rpf_str));
 
-       vty_out(vty, "%-16s %-15s %-15s %-15s %5s\n",
-               ifp->name, rpf_str, src_str,
-               grp_str, is_join?"J":"P");
+       vty_out(vty, "%-16s %-15s %-15pPAs %-15pPAs %5s\n", ifp->name, rpf_str,
+               &up->sg.src, &up->sg.grp, is_join ? "J" : "P");
 }
 
 static void pim_show_jp_agg_list(struct pim_instance *pim, struct vty *vty)
@@ -4843,8 +4834,8 @@ static void pim_show_mlag_up_detail(struct vrf *vrf,
                                    struct vty *vty, const char *src_or_group,
                                    const char *group, bool uj)
 {
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
+       char src_str[PIM_ADDRSTRLEN];
+       char grp_str[PIM_ADDRSTRLEN];
        struct pim_upstream *up;
        struct pim_instance *pim = vrf->info;
        json_object *json = NULL;
@@ -4861,8 +4852,9 @@ static void pim_show_mlag_up_detail(struct vrf *vrf,
                    && !pim_up_mlag_is_local(up))
                        continue;
 
-               pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
+               snprintfrr(grp_str, sizeof(grp_str), "%pPAs", &up->sg.grp);
+               snprintfrr(src_str, sizeof(src_str), "%pPAs", &up->sg.src);
+
                /* XXX: strcmps are clearly inefficient. we should do uint comps
                 * here instead.
                 */
@@ -4891,8 +4883,6 @@ static void pim_show_mlag_up_vrf(struct vrf *vrf, struct vty *vty, bool uj)
        json_object *json = NULL;
        json_object *json_row;
        struct pim_upstream *up;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        struct pim_instance *pim = vrf->info;
        json_object *json_group = NULL;
 
@@ -4908,11 +4898,16 @@ static void pim_show_mlag_up_vrf(struct vrf *vrf, struct vty *vty, bool uj)
                    && !(up->flags & PIM_UPSTREAM_FLAG_MASK_MLAG_INTERFACE)
                    && !pim_up_mlag_is_local(up))
                        continue;
-               pim_inet4_dump("<src?>", up->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", up->sg.grp, grp_str, sizeof(grp_str));
                if (uj) {
+                       char src_str[PIM_ADDRSTRLEN];
+                       char grp_str[PIM_ADDRSTRLEN];
                        json_object *own_list = NULL;
 
+                       snprintfrr(grp_str, sizeof(grp_str), "%pPAs",
+                                  &up->sg.grp);
+                       snprintfrr(src_str, sizeof(src_str), "%pPAs",
+                                  &up->sg.src);
+
                        json_object_object_get_ex(json, grp_str, &json_group);
                        if (!json_group) {
                                json_group = json_object_new_object();
@@ -4959,8 +4954,8 @@ static void pim_show_mlag_up_vrf(struct vrf *vrf, struct vty *vty, bool uj)
                        if (up->flags & (PIM_UPSTREAM_FLAG_MASK_MLAG_INTERFACE))
                                strlcat(own_str, "I", sizeof(own_str));
                        vty_out(vty,
-                               "%-15s %-15s %-6s %-11u %-10u %2s\n",
-                               src_str, grp_str, own_str,
+                               "%-15pPAs %-15pPAs %-6s %-11u %-10u %2s\n",
+                               &up->sg.src, &up->sg.grp, own_str,
                                pim_up_mlag_local_cost(up),
                                pim_up_mlag_peer_cost(up),
                                PIM_UPSTREAM_FLAG_TEST_MLAG_NON_DF(up->flags)
@@ -10106,8 +10101,6 @@ static void ip_msdp_show_sa(struct pim_instance *pim, struct vty *vty, bool uj)
 {
        struct listnode *sanode;
        struct pim_msdp_sa *sa;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        char rp_str[INET_ADDRSTRLEN];
        char timebuf[PIM_MSDP_UPTIME_STRLEN];
        char spt_str[8];
@@ -10127,8 +10120,6 @@ static void ip_msdp_show_sa(struct pim_instance *pim, struct vty *vty, bool uj)
        for (ALL_LIST_ELEMENTS_RO(pim->msdp.sa_list, sanode, sa)) {
                now = pim_time_monotonic_sec();
                pim_time_uptime(timebuf, sizeof(timebuf), now - sa->uptime);
-               pim_inet4_dump("<src?>", sa->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", sa->sg.grp, grp_str, sizeof(grp_str));
                if (sa->flags & PIM_MSDP_SAF_PEER) {
                        pim_inet4_dump("<rp?>", sa->rp, rp_str, sizeof(rp_str));
                        if (sa->up) {
@@ -10146,6 +10137,14 @@ static void ip_msdp_show_sa(struct pim_instance *pim, struct vty *vty, bool uj)
                        strlcpy(local_str, "no", sizeof(local_str));
                }
                if (uj) {
+                       char src_str[PIM_ADDRSTRLEN];
+                       char grp_str[PIM_ADDRSTRLEN];
+
+                       snprintfrr(grp_str, sizeof(grp_str), "%pPAs",
+                                  &sa->sg.grp);
+                       snprintfrr(src_str, sizeof(src_str), "%pPAs",
+                                  &sa->sg.src);
+
                        json_object_object_get_ex(json, grp_str, &json_group);
 
                        if (!json_group) {
@@ -10163,8 +10162,8 @@ static void ip_msdp_show_sa(struct pim_instance *pim, struct vty *vty, bool uj)
                        json_object_string_add(json_row, "upTime", timebuf);
                        json_object_object_add(json_group, src_str, json_row);
                } else {
-                       vty_out(vty, "%-15s  %15s  %15s  %5c  %3c  %8s\n",
-                               src_str, grp_str, rp_str, local_str[0],
+                       vty_out(vty, "%-15pPAs  %15pPAs  %15s  %5c  %3c  %8s\n",
+                               &sa->sg.src, &sa->sg.grp, rp_str, local_str[0],
                                spt_str[0], timebuf);
                }
        }
@@ -10247,8 +10246,6 @@ static void ip_msdp_show_sa_detail(struct pim_instance *pim, struct vty *vty,
 {
        struct listnode *sanode;
        struct pim_msdp_sa *sa;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        json_object *json = NULL;
 
        if (uj) {
@@ -10256,8 +10253,12 @@ static void ip_msdp_show_sa_detail(struct pim_instance *pim, struct vty *vty,
        }
 
        for (ALL_LIST_ELEMENTS_RO(pim->msdp.sa_list, sanode, sa)) {
-               pim_inet4_dump("<src?>", sa->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", sa->sg.grp, grp_str, sizeof(grp_str));
+               char src_str[PIM_ADDRSTRLEN];
+               char grp_str[PIM_ADDRSTRLEN];
+
+               snprintfrr(grp_str, sizeof(grp_str), "%pPAs", &sa->sg.grp);
+               snprintfrr(src_str, sizeof(src_str), "%pPAs", &sa->sg.src);
+
                ip_msdp_show_sa_entry_detail(sa, src_str, grp_str, vty, uj,
                                             json);
        }
@@ -10330,8 +10331,6 @@ static void ip_msdp_show_sa_addr(struct pim_instance *pim, struct vty *vty,
 {
        struct listnode *sanode;
        struct pim_msdp_sa *sa;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        json_object *json = NULL;
 
        if (uj) {
@@ -10339,8 +10338,12 @@ static void ip_msdp_show_sa_addr(struct pim_instance *pim, struct vty *vty,
        }
 
        for (ALL_LIST_ELEMENTS_RO(pim->msdp.sa_list, sanode, sa)) {
-               pim_inet4_dump("<src?>", sa->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", sa->sg.grp, grp_str, sizeof(grp_str));
+               char src_str[PIM_ADDRSTRLEN];
+               char grp_str[PIM_ADDRSTRLEN];
+
+               snprintfrr(grp_str, sizeof(grp_str), "%pPAs", &sa->sg.grp);
+               snprintfrr(src_str, sizeof(src_str), "%pPAs", &sa->sg.src);
+
                if (!strcmp(addr, src_str) || !strcmp(addr, grp_str)) {
                        ip_msdp_show_sa_entry_detail(sa, src_str, grp_str, vty,
                                                     uj, json);
@@ -10359,8 +10362,6 @@ static void ip_msdp_show_sa_sg(struct pim_instance *pim, struct vty *vty,
 {
        struct listnode *sanode;
        struct pim_msdp_sa *sa;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        json_object *json = NULL;
 
        if (uj) {
@@ -10368,8 +10369,12 @@ static void ip_msdp_show_sa_sg(struct pim_instance *pim, struct vty *vty,
        }
 
        for (ALL_LIST_ELEMENTS_RO(pim->msdp.sa_list, sanode, sa)) {
-               pim_inet4_dump("<src?>", sa->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", sa->sg.grp, grp_str, sizeof(grp_str));
+               char src_str[PIM_ADDRSTRLEN];
+               char grp_str[PIM_ADDRSTRLEN];
+
+               snprintfrr(grp_str, sizeof(grp_str), "%pPAs", &sa->sg.grp);
+               snprintfrr(src_str, sizeof(src_str), "%pPAs", &sa->sg.src);
+
                if (!strcmp(src, src_str) && !strcmp(grp, grp_str)) {
                        ip_msdp_show_sa_entry_detail(sa, src_str, grp_str, vty,
                                                     uj, json);
@@ -10481,8 +10486,6 @@ static void pim_show_vxlan_sg_entry(struct pim_vxlan_sg *vxlan_sg,
 {
        struct vty *vty = cwd->vty;
        json_object *json = cwd->json;
-       char src_str[INET_ADDRSTRLEN];
-       char grp_str[INET_ADDRSTRLEN];
        json_object *json_row;
        bool installed = (vxlan_sg->up) ? true : false;
        const char *iif_name = vxlan_sg->iif?vxlan_sg->iif->name:"-";
@@ -10497,9 +10500,15 @@ static void pim_show_vxlan_sg_entry(struct pim_vxlan_sg *vxlan_sg,
            pim_addr_cmp(vxlan_sg->sg.grp, cwd->addr)) {
                return;
        }
-       pim_inet4_dump("<src?>", vxlan_sg->sg.src, src_str, sizeof(src_str));
-       pim_inet4_dump("<grp?>", vxlan_sg->sg.grp, grp_str, sizeof(grp_str));
        if (json) {
+               char src_str[PIM_ADDRSTRLEN];
+               char grp_str[PIM_ADDRSTRLEN];
+
+               snprintfrr(grp_str, sizeof(grp_str), "%pPAs",
+                          &vxlan_sg->sg.grp);
+               snprintfrr(src_str, sizeof(src_str), "%pPAs",
+                          &vxlan_sg->sg.src);
+
                json_object_object_get_ex(json, grp_str, &cwd->json_group);
 
                if (!cwd->json_group) {
@@ -10519,9 +10528,9 @@ static void pim_show_vxlan_sg_entry(struct pim_vxlan_sg *vxlan_sg,
                        json_object_boolean_false_add(json_row, "installed");
                json_object_object_add(cwd->json_group, src_str, json_row);
        } else {
-               vty_out(vty, "%-15s %-15s %-15s %-15s %-5s\n",
-                       src_str, grp_str, iif_name, oif_name,
-                       installed?"I":"");
+               vty_out(vty, "%-15pPAs %-15pPAs %-15s %-15s %-5s\n",
+                       &vxlan_sg->sg.src, &vxlan_sg->sg.grp, iif_name,
+                       oif_name, installed ? "I" : "");
        }
 }
 
index 8a641a25ffbd444a34e3e2e1dadfea8d81d06e23..9248177724681fb079ae3157add5bd5b4b560cba 100644 (file)
@@ -1331,15 +1331,11 @@ void pim_ifchannel_update_could_assert(struct pim_ifchannel *ch)
        if (new_couldassert == old_couldassert)
                return;
 
-       if (PIM_DEBUG_PIM_EVENTS) {
-               char src_str[INET_ADDRSTRLEN];
-               char grp_str[INET_ADDRSTRLEN];
-               pim_inet4_dump("<src?>", ch->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", ch->sg.grp, grp_str, sizeof(grp_str));
-               zlog_debug("%s: CouldAssert(%s,%s,%s) changed from %d to %d",
-                          __func__, src_str, grp_str, ch->interface->name,
-                          old_couldassert, new_couldassert);
-       }
+       if (PIM_DEBUG_PIM_EVENTS)
+               zlog_debug("%s: CouldAssert(%pPAs,%pPAs,%s) changed from %d to %d",
+                          __func__, &ch->sg.src, &ch->sg.grp,
+                          ch->interface->name, old_couldassert,
+                          new_couldassert);
 
        if (new_couldassert) {
                /* CouldAssert(S,G,I) switched from false to true */
@@ -1373,19 +1369,15 @@ void pim_ifchannel_update_my_assert_metric(struct pim_ifchannel *ch)
                return;
 
        if (PIM_DEBUG_PIM_EVENTS) {
-               char src_str[INET_ADDRSTRLEN];
-               char grp_str[INET_ADDRSTRLEN];
                char old_addr_str[INET_ADDRSTRLEN];
                char new_addr_str[INET_ADDRSTRLEN];
-               pim_inet4_dump("<src?>", ch->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", ch->sg.grp, grp_str, sizeof(grp_str));
                pim_inet4_dump("<old_addr?>", ch->ifassert_my_metric.ip_address,
                               old_addr_str, sizeof(old_addr_str));
                pim_inet4_dump("<new_addr?>", my_metric_new.ip_address,
                               new_addr_str, sizeof(new_addr_str));
                zlog_debug(
-                       "%s: my_assert_metric(%s,%s,%s) changed from %u,%u,%u,%s to %u,%u,%u,%s",
-                       __func__, src_str, grp_str, ch->interface->name,
+                       "%s: my_assert_metric(%pPAs,%pPAs,%s) changed from %u,%u,%u,%s to %u,%u,%u,%s",
+                       __func__, &ch->sg.src, &ch->sg.grp, ch->interface->name,
                        ch->ifassert_my_metric.rpt_bit_flag,
                        ch->ifassert_my_metric.metric_preference,
                        ch->ifassert_my_metric.route_metric, old_addr_str,
@@ -1412,16 +1404,11 @@ void pim_ifchannel_update_assert_tracking_desired(struct pim_ifchannel *ch)
        if (new_atd == old_atd)
                return;
 
-       if (PIM_DEBUG_PIM_EVENTS) {
-               char src_str[INET_ADDRSTRLEN];
-               char grp_str[INET_ADDRSTRLEN];
-               pim_inet4_dump("<src?>", ch->sg.src, src_str, sizeof(src_str));
-               pim_inet4_dump("<grp?>", ch->sg.grp, grp_str, sizeof(grp_str));
+       if (PIM_DEBUG_PIM_EVENTS)
                zlog_debug(
-                       "%s: AssertTrackingDesired(%s,%s,%s) changed from %d to %d",
-                       __func__, src_str, grp_str, ch->interface->name,
+                       "%s: AssertTrackingDesired(%pPAs,%pPAs,%s) changed from %d to %d",
+                       __func__, &ch->sg.src, &ch->sg.grp, ch->interface->name,
                        old_atd, new_atd);
-       }
 
        if (new_atd) {
                /* AssertTrackingDesired(S,G,I) switched from false to true */
index d77d2e99697aa92b9c691b4aacbfa6db2fc340d1..f4b2cc1e7d78994a502de8c1e8144d7e99a35a34 100644 (file)
@@ -95,15 +95,12 @@ static void recv_join(struct interface *ifp, struct pim_neighbor *neigh,
                 * our RP for the group, drop the message
                 */
                if (sg->src.s_addr != rp->rpf_addr.u.prefix4.s_addr) {
-                       char received_rp[INET_ADDRSTRLEN];
                        char local_rp[INET_ADDRSTRLEN];
-                       pim_inet4_dump("<received?>", sg->src, received_rp,
-                                      sizeof(received_rp));
                        pim_inet4_dump("<local?>", rp->rpf_addr.u.prefix4,
                                       local_rp, sizeof(local_rp));
                        zlog_warn(
-                               "%s: Specified RP(%s) in join is different than our configured RP(%s)",
-                               __func__, received_rp, local_rp);
+                               "%s: Specified RP(%pPAs) in join is different than our configured RP(%s)",
+                               __func__, &sg->src, local_rp);
                        return;
                }
 
@@ -154,14 +151,9 @@ static void recv_prune(struct interface *ifp, struct pim_neighbor *neigh,
                 * Received Prune(*,G) messages are processed even if the
                 * RP in the message does not match RP(G).
                 */
-               if (PIM_DEBUG_PIM_TRACE) {
-                       char received_rp[INET_ADDRSTRLEN];
-
-                       pim_inet4_dump("<received?>", sg->src, received_rp,
-                                      sizeof(received_rp));
-                       zlog_debug("%s: Prune received with RP(%s) for %pSG",
-                                  __func__, received_rp, sg);
-               }
+               if (PIM_DEBUG_PIM_TRACE)
+                       zlog_debug("%s: Prune received with RP(%pPAs) for %pSG",
+                                  __func__, &sg->src, sg);
 
                sg->src = PIMADDR_ANY;
        }
@@ -280,16 +272,13 @@ int pim_joinprune_recv(struct interface *ifp, struct pim_neighbor *neigh,
                if (PIM_DEBUG_PIM_J_P) {
                        char src_str[INET_ADDRSTRLEN];
                        char upstream_str[INET_ADDRSTRLEN];
-                       char group_str[INET_ADDRSTRLEN];
                        pim_inet4_dump("<src?>", src_addr, src_str,
                                       sizeof(src_str));
                        pim_inet4_dump("<addr?>", msg_upstream_addr.u.prefix4,
                                       upstream_str, sizeof(upstream_str));
-                       pim_inet4_dump("<grp?>", sg.grp, group_str,
-                                      sizeof(group_str));
                        zlog_debug(
-                               "%s: join/prune upstream=%s group=%s/32 join_src=%d prune_src=%d from %s on %s",
-                               __func__, upstream_str, group_str,
+                               "%s: join/prune upstream=%s group=%pPA/32 join_src=%d prune_src=%d from %s on %s",
+                               __func__, upstream_str, &sg.grp,
                                msg_num_joined_sources, msg_num_pruned_sources,
                                src_str, ifp->name);
                }
index 371812b4538e9910631879cbbef4e45c7c0e7f06..2efafd4b9b0914ea829cac13775d84e8c870efb8 100644 (file)
@@ -806,21 +806,9 @@ void pim_forward_start(struct pim_ifchannel *ch)
        struct pim_upstream *up = ch->upstream;
        uint32_t mask = 0;
 
-       if (PIM_DEBUG_PIM_TRACE) {
-               char source_str[INET_ADDRSTRLEN];
-               char group_str[INET_ADDRSTRLEN];
-               char upstream_str[INET_ADDRSTRLEN];
-
-               pim_inet4_dump("<source?>", ch->sg.src, source_str,
-                              sizeof(source_str));
-               pim_inet4_dump("<group?>", ch->sg.grp, group_str,
-                              sizeof(group_str));
-               pim_inet4_dump("<upstream?>", up->upstream_addr, upstream_str,
-                              sizeof(upstream_str));
-               zlog_debug("%s: (S,G)=(%s,%s) oif=%s (%pI4)", __func__,
-                          source_str, group_str, ch->interface->name,
-                          &up->upstream_addr);
-       }
+       if (PIM_DEBUG_PIM_TRACE)
+               zlog_debug("%s: (S,G)=%pSG oif=%s (%pI4)", __func__, &ch->sg,
+                          ch->interface->name, &up->upstream_addr);
 
        if (PIM_IF_FLAG_TEST_PROTO_IGMP(ch->flags))
                mask = PIM_OIF_FLAG_PROTO_IGMP;