summaryrefslogtreecommitdiff
path: root/pimd
diff options
context:
space:
mode:
Diffstat (limited to 'pimd')
-rw-r--r--pimd/mtracebis.c4
-rw-r--r--pimd/pim_bfd.c9
-rw-r--r--pimd/pim_bsm.c49
-rw-r--r--pimd/pim_cmd.c112
-rw-r--r--pimd/pim_iface.c18
-rw-r--r--pimd/pim_igmp.c48
-rw-r--r--pimd/pim_igmp_mtrace.c16
-rw-r--r--pimd/pim_igmpv3.c12
-rw-r--r--pimd/pim_msdp.h4
-rw-r--r--pimd/pim_neighbor.c2
-rw-r--r--pimd/pim_nht.c64
-rw-r--r--pimd/pim_register.c15
-rw-r--r--pimd/pim_rp.c157
-rw-r--r--pimd/pim_upstream.c25
-rw-r--r--pimd/pim_zebra.c33
15 files changed, 245 insertions, 323 deletions
diff --git a/pimd/mtracebis.c b/pimd/mtracebis.c
index 1b812de92c..3b69964960 100644
--- a/pimd/mtracebis.c
+++ b/pimd/mtracebis.c
@@ -26,7 +26,6 @@
#include "checksum.h"
#include "prefix.h"
#include "mtracebis_routeget.h"
-
#include <sys/select.h>
#include <netinet/in.h>
#include <arpa/inet.h>
@@ -64,13 +63,14 @@ static void version(void)
static void print_host(struct in_addr addr)
{
struct hostent *h;
+ char buf[PREFIX_STRLEN];
h = gethostbyaddr(&addr, sizeof(addr), AF_INET);
if (h == NULL)
printf("?");
else
printf("%s", h->h_name);
- printf(" (%s) ", inet_ntoa(addr));
+ printf(" (%s) ", inet_ntop(AF_INET, &addr, buf, sizeof(buf)));
}
static void print_line_no(int i)
diff --git a/pimd/pim_bfd.c b/pimd/pim_bfd.c
index 146b53fa8f..1d653cdc3f 100644
--- a/pimd/pim_bfd.c
+++ b/pimd/pim_bfd.c
@@ -244,12 +244,9 @@ static int pim_bfd_interface_dest_update(ZAPI_CALLBACK_ARGS)
return 0;
}
- if (PIM_DEBUG_PIM_TRACE) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(&p, buf, sizeof(buf));
- zlog_debug("%s: interface %s bfd destination %s %s", __func__,
- ifp->name, buf, bfd_get_status_str(status));
- }
+ if (PIM_DEBUG_PIM_TRACE)
+ zlog_debug("%s: interface %s bfd destination %pFX %s", __func__,
+ ifp->name, &p, bfd_get_status_str(status));
for (ALL_LIST_ELEMENTS(pim_ifp->pim_neighbor_list, neigh_node,
neigh_nextnode, neigh)) {
diff --git a/pimd/pim_bsm.c b/pimd/pim_bsm.c
index f542b2eafa..1acfece895 100644
--- a/pimd/pim_bsm.c
+++ b/pimd/pim_bsm.c
@@ -170,7 +170,6 @@ static int pim_on_bs_timer(struct thread *t)
struct bsgrp_node *bsgrp_node;
struct bsm_rpinfo *bsrp;
struct prefix nht_p;
- char buf[PREFIX2STR_BUFFER];
bool is_bsr_tracking = true;
scope = THREAD_ARG(t);
@@ -184,11 +183,9 @@ static int pim_on_bs_timer(struct thread *t)
nht_p.family = AF_INET;
nht_p.prefixlen = IPV4_MAX_BITLEN;
nht_p.u.prefix4 = scope->current_bsr;
- if (PIM_DEBUG_BSM) {
- prefix2str(&nht_p, buf, sizeof(buf));
- zlog_debug("%s: Deregister BSR addr %s with Zebra NHT",
- __func__, buf);
- }
+ if (PIM_DEBUG_BSM)
+ zlog_debug("%s: Deregister BSR addr %pFX with Zebra NHT",
+ __func__, &nht_p);
pim_delete_tracked_nexthop(scope->pim, &nht_p, NULL, NULL,
is_bsr_tracking);
@@ -377,15 +374,12 @@ static void pim_g2rp_timer_start(struct bsm_rpinfo *bsrp, int hold_time)
return;
}
THREAD_OFF(bsrp->g2rp_timer);
- if (PIM_DEBUG_BSM) {
- char buf[48];
-
+ if (PIM_DEBUG_BSM)
zlog_debug(
- "%s : starting g2rp timer for grp: %s - rp: %s with timeout %d secs(Actual Hold time : %d secs)",
- __func__, prefix2str(&bsrp->bsgrp_node->group, buf, 48),
- inet_ntoa(bsrp->rp_address), hold_time,
+ "%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);
- }
thread_add_timer(router->master, pim_on_g2rp_timer, bsrp, hold_time,
&bsrp->g2rp_timer);
@@ -402,14 +396,10 @@ static void pim_g2rp_timer_stop(struct bsm_rpinfo *bsrp)
if (!bsrp)
return;
- if (PIM_DEBUG_BSM) {
- char buf[48];
-
- zlog_debug("%s : stopping g2rp timer for grp: %s - rp: %s",
- __func__,
- prefix2str(&bsrp->bsgrp_node->group, buf, 48),
- inet_ntoa(bsrp->rp_address));
- }
+ if (PIM_DEBUG_BSM)
+ zlog_debug("%s : stopping g2rp timer for grp: %pFX - rp: %pI4",
+ __func__, &bsrp->bsgrp_node->group,
+ &bsrp->rp_address);
THREAD_OFF(bsrp->g2rp_timer);
}
@@ -616,7 +606,6 @@ static void pim_bsm_update(struct pim_instance *pim, struct in_addr bsr,
if (bsr.s_addr != pim->global_scope.current_bsr.s_addr) {
struct prefix nht_p;
- char buf[PREFIX2STR_BUFFER];
bool is_bsr_tracking = true;
/* De-register old BSR and register new BSR with Zebra NHT */
@@ -625,23 +614,19 @@ static void pim_bsm_update(struct pim_instance *pim, struct in_addr bsr,
if (pim->global_scope.current_bsr.s_addr != INADDR_ANY) {
nht_p.u.prefix4 = pim->global_scope.current_bsr;
- if (PIM_DEBUG_BSM) {
- prefix2str(&nht_p, buf, sizeof(buf));
+ if (PIM_DEBUG_BSM)
zlog_debug(
- "%s: Deregister BSR addr %s with Zebra NHT",
- __func__, buf);
- }
+ "%s: Deregister BSR addr %pFX with Zebra NHT",
+ __func__, &nht_p);
pim_delete_tracked_nexthop(pim, &nht_p, NULL, NULL,
is_bsr_tracking);
}
nht_p.u.prefix4 = bsr;
- if (PIM_DEBUG_BSM) {
- prefix2str(&nht_p, buf, sizeof(buf));
+ if (PIM_DEBUG_BSM)
zlog_debug(
- "%s: NHT Register BSR addr %s with Zebra NHT",
- __func__, buf);
- }
+ "%s: NHT Register BSR addr %pFX with Zebra NHT",
+ __func__, &nht_p);
memset(&pnc, 0, sizeof(struct pim_nexthop_cache));
pim_find_or_track_nexthop(pim, &nht_p, NULL, NULL,
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 38123cc8f6..2a7ff4e7f8 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -199,6 +199,7 @@ static void pim_show_assert_helper(struct vty *vty,
struct in_addr ifaddr;
char uptime[10];
char timer[10];
+ char buf[PREFIX_STRLEN];
ifaddr = pim_ifp->primary_address;
@@ -211,9 +212,10 @@ static void pim_show_assert_helper(struct vty *vty,
pim_time_timer_to_mmss(timer, sizeof(timer), ch->t_ifassert_timer);
vty_out(vty, "%-16s %-15s %-15s %-15s %-6s %-15s %-8s %-5s\n",
- ch->interface->name, inet_ntoa(ifaddr), ch_src_str, ch_grp_str,
- pim_ifchannel_ifassert_name(ch->ifassert_state), winner_str,
- uptime, timer);
+ ch->interface->name,
+ inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)), ch_src_str,
+ ch_grp_str, pim_ifchannel_ifassert_name(ch->ifassert_state),
+ winner_str, uptime, timer);
}
static void pim_show_assert(struct pim_instance *pim, struct vty *vty)
@@ -246,13 +248,16 @@ static void pim_show_assert_internal_helper(struct vty *vty,
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",
- ch->interface->name, inet_ntoa(ifaddr), ch_src_str, ch_grp_str,
+ ch->interface->name,
+ inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)),
+ ch_src_str, ch_grp_str,
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"
@@ -294,6 +299,7 @@ static void pim_show_assert_metric_helper(struct vty *vty,
char addr_str[INET_ADDRSTRLEN];
struct pim_assert_metric am;
struct in_addr ifaddr;
+ char buf[PREFIX_STRLEN];
ifaddr = pim_ifp->primary_address;
@@ -305,9 +311,10 @@ static void pim_show_assert_metric_helper(struct vty *vty,
pim_inet4_dump("<addr?>", am.ip_address, addr_str, sizeof(addr_str));
vty_out(vty, "%-16s %-15s %-15s %-15s %-3s %4u %6u %-15s\n",
- ch->interface->name, inet_ntoa(ifaddr), ch_src_str, ch_grp_str,
- am.rpt_bit_flag ? "yes" : "no", am.metric_preference,
- am.route_metric, addr_str);
+ ch->interface->name,
+ inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)),
+ ch_src_str, ch_grp_str, am.rpt_bit_flag ? "yes" : "no",
+ am.metric_preference, am.route_metric, addr_str);
}
static void pim_show_assert_metric(struct pim_instance *pim, struct vty *vty)
@@ -341,6 +348,7 @@ static void pim_show_assert_winner_metric_helper(struct vty *vty,
struct in_addr ifaddr;
char pref_str[16];
char metr_str[16];
+ char buf[PREFIX_STRLEN];
ifaddr = pim_ifp->primary_address;
@@ -362,8 +370,10 @@ static void pim_show_assert_winner_metric_helper(struct vty *vty,
snprintf(metr_str, sizeof(metr_str), "%6u", am->route_metric);
vty_out(vty, "%-16s %-15s %-15s %-15s %-3s %-4s %-6s %-15s\n",
- ch->interface->name, inet_ntoa(ifaddr), ch_src_str, ch_grp_str,
- am->rpt_bit_flag ? "yes" : "no", pref_str, metr_str, addr_str);
+ 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);
}
static void pim_show_assert_winner_metric(struct pim_instance *pim,
@@ -391,12 +401,14 @@ static void json_object_pim_ifp_add(struct json_object *json,
struct interface *ifp)
{
struct pim_interface *pim_ifp;
+ char buf[PREFIX_STRLEN];
pim_ifp = ifp->info;
json_object_string_add(json, "name", ifp->name);
json_object_string_add(json, "state", if_is_up(ifp) ? "up" : "down");
json_object_string_add(json, "address",
- inet_ntoa(pim_ifp->primary_address));
+ inet_ntop(AF_INET, &pim_ifp->primary_address,
+ buf, sizeof(buf)));
json_object_int_add(json, "index", ifp->ifindex);
if (if_is_multicast(ifp))
@@ -569,6 +581,7 @@ static void igmp_show_interfaces(struct pim_instance *pim, struct vty *vty,
{
struct interface *ifp;
time_t now;
+ char buf[PREFIX_STRLEN];
json_object *json = NULL;
json_object *json_row = NULL;
@@ -632,7 +645,8 @@ static void igmp_show_interfaces(struct pim_instance *pim, struct vty *vty,
? (igmp->mtrace_only ? "mtrc"
: "up")
: "down",
- inet_ntoa(igmp->ifaddr),
+ inet_ntop(AF_INET, &igmp->ifaddr,
+ buf, sizeof(buf)),
pim_ifp->igmp_version,
igmp->t_igmp_query_timer ? "local"
: "other",
@@ -797,8 +811,8 @@ static void igmp_show_interfaces_single(struct pim_instance *pim,
? (igmp->mtrace_only ? "mtrace"
: "up")
: "down");
- vty_out(vty, "Address : %s\n",
- inet_ntoa(pim_ifp->primary_address));
+ vty_out(vty, "Address : %pI4\n",
+ &pim_ifp->primary_address);
vty_out(vty, "Uptime : %s\n", uptime);
vty_out(vty, "Version : %d\n",
pim_ifp->igmp_version);
@@ -940,6 +954,7 @@ static void pim_show_interfaces_single(struct pim_instance *pim,
int mloop = 0;
int found_ifname = 0;
int print_header;
+ char buf[PREFIX_STRLEN];
json_object *json = NULL;
json_object *json_row = NULL;
json_object *json_pim_neighbor = NULL;
@@ -992,7 +1007,9 @@ static void pim_show_interfaces_single(struct pim_instance *pim,
if (pim_ifp->update_source.s_addr != INADDR_ANY) {
json_object_string_add(
json_row, "useSource",
- inet_ntoa(pim_ifp->update_source));
+ inet_ntop(AF_INET,
+ &pim_ifp->update_source,
+ buf, sizeof(buf)));
}
if (pim_ifp->sec_addr_list) {
json_object *sec_list = NULL;
@@ -1160,23 +1177,20 @@ static void pim_show_interfaces_single(struct pim_instance *pim,
vty_out(vty, "State : %s\n",
if_is_up(ifp) ? "up" : "down");
if (pim_ifp->update_source.s_addr != INADDR_ANY) {
- vty_out(vty, "Use Source : %s\n",
- inet_ntoa(pim_ifp->update_source));
+ vty_out(vty, "Use Source : %pI4\n",
+ &pim_ifp->update_source);
}
if (pim_ifp->sec_addr_list) {
- char pbuf[PREFIX2STR_BUFFER];
- vty_out(vty, "Address : %s (primary)\n",
- inet_ntoa(ifaddr));
+ vty_out(vty, "Address : %pI4 (primary)\n",
+ &ifaddr);
for (ALL_LIST_ELEMENTS_RO(
pim_ifp->sec_addr_list, sec_node,
- sec_addr)) {
- vty_out(vty, " %s\n",
- prefix2str(&sec_addr->addr,
- pbuf, sizeof(pbuf)));
- }
+ sec_addr))
+ vty_out(vty, " %pFX\n",
+ &sec_addr->addr);
} else {
- vty_out(vty, "Address : %s\n",
- inet_ntoa(ifaddr));
+ vty_out(vty, "Address : %pI4\n",
+ &ifaddr);
}
vty_out(vty, "\n");
@@ -1400,6 +1414,7 @@ static void pim_show_interfaces(struct pim_instance *pim, struct vty *vty,
int fhr = 0;
int pim_nbrs = 0;
int pim_ifchannels = 0;
+ char buf[PREFIX_STRLEN];
json_object *json = NULL;
json_object *json_row = NULL;
json_object *json_tmp;
@@ -1430,7 +1445,9 @@ static void pim_show_interfaces(struct pim_instance *pim, struct vty *vty,
json_object_int_add(json_row, "pimIfChannels", pim_ifchannels);
json_object_int_add(json_row, "firstHopRouterCount", fhr);
json_object_string_add(json_row, "pimDesignatedRouter",
- inet_ntoa(pim_ifp->pim_dr_addr));
+ inet_ntop(AF_INET,
+ &pim_ifp->pim_dr_addr, buf,
+ sizeof(buf)));
if (pim_ifp->pim_dr_addr.s_addr
== pim_ifp->primary_address.s_addr)
@@ -1685,6 +1702,7 @@ static void pim_show_join_helper(struct vty *vty, struct pim_interface *pim_ifp,
char uptime[10];
char expire[10];
char prune[10];
+ char buf[PREFIX_STRLEN];
ifaddr = pim_ifp->primary_address;
@@ -1733,8 +1751,9 @@ static void pim_show_join_helper(struct vty *vty, struct pim_interface *pim_ifp,
json_object_object_add(json_grp, ch_src_str, json_row);
} else {
vty_out(vty, "%-16s %-15s %-15s %-15s %-10s %8s %-6s %5s\n",
- ch->interface->name, inet_ntoa(ifaddr), ch_src_str,
- ch_grp_str,
+ ch->interface->name,
+ inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)),
+ ch_src_str, ch_grp_str,
pim_ifchannel_ifjoin_name(ch->ifjoin_state, ch->flags),
uptime, expire, prune);
}
@@ -2307,6 +2326,7 @@ static void pim_show_neighbors_secondary(struct pim_instance *pim,
struct in_addr ifaddr;
struct listnode *neighnode;
struct pim_neighbor *neigh;
+ char buf[PREFIX_STRLEN];
pim_ifp = ifp->info;
@@ -2331,16 +2351,12 @@ static void pim_show_neighbors_secondary(struct pim_instance *pim,
neigh_src_str, sizeof(neigh_src_str));
for (ALL_LIST_ELEMENTS_RO(neigh->prefix_list,
- prefix_node, p)) {
- char neigh_sec_str[PREFIX2STR_BUFFER];
-
- prefix2str(p, neigh_sec_str,
- sizeof(neigh_sec_str));
-
- vty_out(vty, "%-16s %-15s %-15s %-15s\n",
- ifp->name, inet_ntoa(ifaddr),
- neigh_src_str, neigh_sec_str);
- }
+ prefix_node, p))
+ vty_out(vty, "%-16s %-15s %-15s %-15pFX\n",
+ ifp->name,
+ inet_ntop(AF_INET, &ifaddr,
+ buf, sizeof(buf)),
+ neigh_src_str, p);
}
}
}
@@ -2984,14 +3000,17 @@ static int pim_print_pnc_cache_walkcb(struct hash_bucket *bucket, void *arg)
struct nexthop *nh_node = NULL;
ifindex_t first_ifindex;
struct interface *ifp = NULL;
+ char buf[PREFIX_STRLEN];
for (nh_node = pnc->nexthop; nh_node; nh_node = nh_node->next) {
first_ifindex = nh_node->ifindex;
ifp = if_lookup_by_index(first_ifindex, pim->vrf_id);
- vty_out(vty, "%-15s ", inet_ntoa(pnc->rpf.rpf_addr.u.prefix4));
+ vty_out(vty, "%-15s ", inet_ntop(AF_INET,
+ &pnc->rpf.rpf_addr.u.prefix4,
+ buf, sizeof(buf)));
vty_out(vty, "%-16s ", ifp ? ifp->name : "NULL");
- vty_out(vty, "%s ", inet_ntoa(nh_node->gate.ipv4));
+ vty_out(vty, "%pI4 ", &nh_node->gate.ipv4);
vty_out(vty, "\n");
}
return CMD_SUCCESS;
@@ -3215,7 +3234,7 @@ static void pim_show_group_rp_mappings_info(struct pim_instance *pim,
json_group);
}
} else {
- vty_out(vty, "Group Address %s\n", grp_str);
+ vty_out(vty, "Group Address %pFX\n", &bsgrp->group);
vty_out(vty, "--------------------------\n");
vty_out(vty, "%-15s %-15s %-15s %-15s\n", "Rp Address",
"priority", "Holdtime", "Hash");
@@ -5665,6 +5684,7 @@ static void show_multicast_interfaces(struct pim_instance *pim, struct vty *vty,
bool uj)
{
struct interface *ifp;
+ char buf[PREFIX_STRLEN];
json_object *json = NULL;
json_object *json_row = NULL;
@@ -5705,7 +5725,8 @@ static void show_multicast_interfaces(struct pim_instance *pim, struct vty *vty,
if_is_up(ifp) ? "up" : "down");
json_object_string_add(
json_row, "address",
- inet_ntoa(pim_ifp->primary_address));
+ inet_ntop(AF_INET, &pim_ifp->primary_address,
+ buf, sizeof(buf)));
json_object_int_add(json_row, "ifIndex", ifp->ifindex);
json_object_int_add(json_row, "vif",
pim_ifp->mroute_vif_index);
@@ -5721,8 +5742,9 @@ static void show_multicast_interfaces(struct pim_instance *pim, struct vty *vty,
} else {
vty_out(vty,
"%-16s %-15s %3d %3d %7lu %7lu %10lu %10lu\n",
- ifp->name, inet_ntoa(ifaddr), ifp->ifindex,
- pim_ifp->mroute_vif_index,
+ ifp->name,
+ inet_ntop(AF_INET, &ifaddr, buf, sizeof(buf)),
+ ifp->ifindex, pim_ifp->mroute_vif_index,
(unsigned long)vreq.icount,
(unsigned long)vreq.ocount,
(unsigned long)vreq.ibytes,
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index 0caa360df9..cff237f965 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -518,15 +518,12 @@ void pim_if_addr_add(struct connected *ifc)
if (!if_is_operative(ifp))
return;
- if (PIM_DEBUG_ZEBRA) {
- char buf[BUFSIZ];
- prefix2str(ifc->address, buf, BUFSIZ);
- zlog_debug("%s: %s ifindex=%d connected IP address %s %s",
- __func__, ifp->name, ifp->ifindex, buf,
+ if (PIM_DEBUG_ZEBRA)
+ zlog_debug("%s: %s ifindex=%d connected IP address %pFX %s",
+ __func__, ifp->name, ifp->ifindex, ifc->address,
CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY)
? "secondary"
: "primary");
- }
ifaddr = ifc->address->u.prefix4;
@@ -715,15 +712,12 @@ void pim_if_addr_del(struct connected *ifc, int force_prim_as_any)
ifp = ifc->ifp;
zassert(ifp);
- if (PIM_DEBUG_ZEBRA) {
- char buf[BUFSIZ];
- prefix2str(ifc->address, buf, BUFSIZ);
- zlog_debug("%s: %s ifindex=%d disconnected IP address %s %s",
- __func__, ifp->name, ifp->ifindex, buf,
+ if (PIM_DEBUG_ZEBRA)
+ zlog_debug("%s: %s ifindex=%d disconnected IP address %pFX %s",
+ __func__, ifp->name, ifp->ifindex, ifc->address,
CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY)
? "secondary"
: "primary");
- }
detect_address_change(ifp, force_prim_as_any, __func__);
diff --git a/pimd/pim_igmp.c b/pimd/pim_igmp.c
index d4d47377bd..19d7817577 100644
--- a/pimd/pim_igmp.c
+++ b/pimd/pim_igmp.c
@@ -63,8 +63,8 @@ static int igmp_sock_open(struct in_addr ifaddr, struct interface *ifp,
++join;
} else {
zlog_warn(
- "%s %s: IGMP socket fd=%d interface %s: could not solve %s to group address: errno=%d: %s",
- __FILE__, __func__, fd, inet_ntoa(ifaddr),
+ "%s %s: IGMP socket fd=%d interface %pI4: could not solve %s to group address: errno=%d: %s",
+ __FILE__, __func__, fd, &ifaddr,
PIM_ALL_ROUTERS, errno, safe_strerror(errno));
}
}
@@ -79,8 +79,8 @@ static int igmp_sock_open(struct in_addr ifaddr, struct interface *ifp,
++join;
} else {
zlog_warn(
- "%s %s: IGMP socket fd=%d interface %s: could not solve %s to group address: errno=%d: %s",
- __FILE__, __func__, fd, inet_ntoa(ifaddr),
+ "%s %s: IGMP socket fd=%d interface %pI4: could not solve %s to group address: errno=%d: %s",
+ __FILE__, __func__, fd, &ifaddr,
PIM_ALL_SYSTEMS, errno, safe_strerror(errno));
}
@@ -90,16 +90,16 @@ static int igmp_sock_open(struct in_addr ifaddr, struct interface *ifp,
}
} else {
zlog_warn(
- "%s %s: IGMP socket fd=%d interface %s: could not solve %s to group address: errno=%d: %s",
- __FILE__, __func__, fd, inet_ntoa(ifaddr),
+ "%s %s: IGMP socket fd=%d interface %pI4: could not solve %s to group address: errno=%d: %s",
+ __FILE__, __func__, fd, &ifaddr,
PIM_ALL_IGMP_ROUTERS, errno, safe_strerror(errno));
}
if (!join) {
flog_err_sys(
EC_LIB_SOCKET,
- "IGMP socket fd=%d could not join any group on interface address %s",
- fd, inet_ntoa(ifaddr));
+ "IGMP socket fd=%d could not join any group on interface address %pI4",
+ fd, &ifaddr);
close(fd);
fd = -1;
}
@@ -117,8 +117,8 @@ static void igmp_sock_dump(array_t *igmp_sock_array)
struct igmp_sock *igmp = array_get(igmp_sock_array, i);
- zlog_debug("%s %s: [%d/%d] igmp_addr=%s fd=%d", __FILE__,
- __func__, i, size, inet_ntoa(igmp->ifaddr),
+ zlog_debug("%s %s: [%d/%d] igmp_addr=%pI4 fd=%d", __FILE__,
+ __func__, i, size, &igmp->ifaddr,
igmp->fd);
}
}
@@ -701,8 +701,8 @@ static void sock_close(struct igmp_sock *igmp)
if (PIM_DEBUG_IGMP_TRACE_DETAIL) {
if (igmp->t_igmp_read) {
zlog_debug(
- "Cancelling READ event on IGMP socket %s fd=%d on interface %s",
- inet_ntoa(igmp->ifaddr), igmp->fd,
+ "Cancelling READ event on IGMP socket %pI4 fd=%d on interface %s",
+ &igmp->ifaddr, igmp->fd,
igmp->interface->name);
}
}
@@ -711,14 +711,14 @@ static void sock_close(struct igmp_sock *igmp)
if (close(igmp->fd)) {
flog_err(
EC_LIB_SOCKET,
- "Failure closing IGMP socket %s fd=%d on interface %s: errno=%d: %s",
- inet_ntoa(igmp->ifaddr), igmp->fd,
+ "Failure closing IGMP socket %pI4 fd=%d on interface %s: errno=%d: %s",
+ &igmp->ifaddr, igmp->fd,
igmp->interface->name, errno, safe_strerror(errno));
}
if (PIM_DEBUG_IGMP_TRACE_DETAIL) {
- zlog_debug("Deleted IGMP socket %s fd=%d on interface %s",
- inet_ntoa(igmp->ifaddr), igmp->fd,
+ zlog_debug("Deleted IGMP socket %pI4 fd=%d on interface %s",
+ &igmp->ifaddr, igmp->fd,
igmp->interface->name);
}
}
@@ -900,8 +900,8 @@ static struct igmp_sock *igmp_sock_new(int fd, struct in_addr ifaddr,
if (PIM_DEBUG_IGMP_TRACE) {
zlog_debug(
- "Creating IGMP socket fd=%d for address %s on interface %s",
- fd, inet_ntoa(ifaddr), ifp->name);
+ "Creating IGMP socket fd=%d for address %pI4 on interface %s",
+ fd, &ifaddr, ifp->name);
}
igmp = XCALLOC(MTYPE_PIM_IGMP_SOCKET, sizeof(*igmp));
@@ -1000,8 +1000,8 @@ struct igmp_sock *pim_igmp_sock_add(struct list *igmp_sock_list,
fd = igmp_sock_open(ifaddr, ifp, pim_ifp->options);
if (fd < 0) {
- zlog_warn("Could not open IGMP socket for %s on %s",
- inet_ntoa(ifaddr), ifp->name);
+ zlog_warn("Could not open IGMP socket for %pI4 on %s",
+ &ifaddr, ifp->name);
return NULL;
}
@@ -1009,8 +1009,8 @@ struct igmp_sock *pim_igmp_sock_add(struct list *igmp_sock_list,
sin.sin_addr = ifaddr;
sin.sin_port = 0;
if (bind(fd, (struct sockaddr *) &sin, sizeof(sin)) != 0) {
- zlog_warn("Could not bind IGMP socket for %s on %s",
- inet_ntoa(ifaddr), ifp->name);
+ zlog_warn("Could not bind IGMP socket for %pI4 on %s",
+ &ifaddr, ifp->name);
close(fd);
return NULL;
@@ -1153,8 +1153,8 @@ struct igmp_group *igmp_add_group_by_addr(struct igmp_sock *igmp,
if (pim_is_group_224_0_0_0_24(group_addr)) {
if (PIM_DEBUG_IGMP_TRACE)
zlog_debug(
- "%s: Group specified %s is part of 224.0.0.0/24",
- __func__, inet_ntoa(group_addr));
+ "%s: Group specified %pI4 is part of 224.0.0.0/24",
+ __func__, &group_addr);
return NULL;
}
/*
diff --git a/pimd/pim_igmp_mtrace.c b/pimd/pim_igmp_mtrace.c
index 9e78b76008..e95a1d11e8 100644
--- a/pimd/pim_igmp_mtrace.c
+++ b/pimd/pim_igmp_mtrace.c
@@ -447,8 +447,8 @@ static int mtrace_un_forward_packet(struct pim_instance *pim, struct ip *ip_hdr,
}
if (PIM_DEBUG_MTRACE) {
- zlog_debug("Fwd mtrace packet len=%u to %s ttl=%u",
- ntohs(ip_hdr->ip_len), inet_ntoa(ip_hdr->ip_dst),
+ zlog_debug("Fwd mtrace packet len=%u to %pI4 ttl=%u",
+ ntohs(ip_hdr->ip_len), &ip_hdr->ip_dst,
ip_hdr->ip_ttl);
}
@@ -472,9 +472,9 @@ static int mtrace_mc_forward_packet(struct pim_instance *pim, struct ip *ip_hdr)
if (c_oil == NULL) {
if (PIM_DEBUG_MTRACE) {
zlog_debug(
- "Dropping mtrace multicast packet len=%u to %s ttl=%u",
+ "Dropping mtrace multicast packet len=%u to %pI4 ttl=%u",
ntohs(ip_hdr->ip_len),
- inet_ntoa(ip_hdr->ip_dst), ip_hdr->ip_ttl);
+ &ip_hdr->ip_dst, ip_hdr->ip_ttl);
}
return -1;
}
@@ -523,9 +523,9 @@ static int mtrace_send_mc_response(struct pim_instance *pim,
if (c_oil == NULL) {
if (PIM_DEBUG_MTRACE) {
zlog_debug(
- "Dropping mtrace multicast response packet len=%u to %s",
+ "Dropping mtrace multicast response packet len=%u to %pI4",
(unsigned int)mtrace_len,
- inet_ntoa(mtracep->rsp_addr));
+ &mtracep->rsp_addr);
}
return -1;
}
@@ -716,8 +716,8 @@ int igmp_mtrace_recv_qry_req(struct igmp_sock *igmp, struct ip *ip_hdr,
&& !IPV4_MC_LINKLOCAL(ntohl(ip_hdr->ip_dst.s_addr))) {
if (PIM_DEBUG_MTRACE)
zlog_warn(
- "Recv mtrace packet from %s on %s: not link-local multicast %s",
- from_str, ifp->name, inet_ntoa(ip_hdr->ip_dst));
+ "Recv mtrace packet from %s on %s: not link-local multicast %pI4",
+ from_str, ifp->name, &ip_hdr->ip_dst);
return -1;
}
diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c
index 8eaca75821..22767a8629 100644
--- a/pimd/pim_igmpv3.c
+++ b/pimd/pim_igmpv3.c
@@ -1921,10 +1921,10 @@ int igmp_v3_recv_report(struct igmp_sock *igmp, struct in_addr from,
if (PIM_DEBUG_IGMP_PACKETS) {
zlog_debug(
- " Recv IGMP report v3 from %s on %s: record=%d type=%d auxdatalen=%d sources=%d group=%s",
+ " Recv IGMP report v3 from %s on %s: record=%d type=%d auxdatalen=%d sources=%d group=%pI4",
from_str, ifp->name, i, rec_type,
rec_auxdatalen, rec_num_sources,
- inet_ntoa(rec_group));
+ &rec_group);
}
/* Scan sources */
@@ -1949,9 +1949,9 @@ int igmp_v3_recv_report(struct igmp_sock *igmp, struct in_addr from,
"<source?>");
zlog_debug(
- " Recv IGMP report v3 from %s on %s: record=%d group=%s source=%s",
+ " Recv IGMP report v3 from %s on %s: record=%d group=%pI4 source=%s",
from_str, ifp->name, i,
- inet_ntoa(rec_group), src_str);
+ &rec_group, src_str);
}
} /* for (sources) */
@@ -1969,8 +1969,8 @@ int igmp_v3_recv_report(struct igmp_sock *igmp, struct in_addr from,
if (PIM_DEBUG_IGMP_PACKETS && filtered)
zlog_debug(
- "Filtering IGMPv3 group record %s from %s on %s per prefix-list %s",
- inet_ntoa(rec_group), from_str, ifp->name,
+ "Filtering IGMPv3 group record %pI4 from %s on %s per prefix-list %s",
+ &rec_group, from_str, ifp->name,
pim_ifp->boundary_oil_plist);
/*
diff --git a/pimd/pim_msdp.h b/pimd/pim_msdp.h
index 6caa3181e7..15a1041e21 100644
--- a/pimd/pim_msdp.h
+++ b/pimd/pim_msdp.h
@@ -208,8 +208,8 @@ struct pim_msdp {
thread_add_write(mp->pim->msdp.master, pim_msdp_write, mp, mp->fd, \
&mp->t_write)
-#define PIM_MSDP_PEER_READ_OFF(mp) THREAD_READ_OFF(mp->t_read)
-#define PIM_MSDP_PEER_WRITE_OFF(mp) THREAD_WRITE_OFF(mp->t_write)
+#define PIM_MSDP_PEER_READ_OFF(mp) thread_cancel(&mp->t_read)
+#define PIM_MSDP_PEER_WRITE_OFF(mp) thread_cancel(&mp->t_write)
// struct pim_msdp *msdp;
struct pim_instance;
diff --git a/pimd/pim_neighbor.c b/pimd/pim_neighbor.c
index 4d6625bf6f..167aa3c604 100644
--- a/pimd/pim_neighbor.c
+++ b/pimd/pim_neighbor.c
@@ -294,7 +294,7 @@ static int on_neighbor_jp_timer(struct thread *t)
static void pim_neighbor_start_jp_timer(struct pim_neighbor *neigh)
{
- THREAD_TIMER_OFF(neigh->jp_timer);
+ THREAD_OFF(neigh->jp_timer);
thread_add_timer(router->master, on_neighbor_jp_timer, neigh,
router->t_periodic, &neigh->jp_timer);
}
diff --git a/pimd/pim_nht.c b/pimd/pim_nht.c
index f06d4ae605..f691e8b755 100644
--- a/pimd/pim_nht.c
+++ b/pimd/pim_nht.c
@@ -26,6 +26,8 @@
#include "hash.h"
#include "jhash.h"
+#include "lib/printfrr.h"
+
#include "pimd.h"
#include "pimd/pim_nht.h"
#include "log.h"
@@ -56,15 +58,12 @@ void pim_sendmsg_zebra_rnh(struct pim_instance *pim, struct zclient *zclient,
if (ret < 0)
zlog_warn("sendmsg_nexthop: zclient_send_message() failed");
- if (PIM_DEBUG_PIM_NHT) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(p, buf, sizeof(buf));
+ if (PIM_DEBUG_PIM_NHT)
zlog_debug(
- "%s: NHT %sregistered addr %s(%s) with Zebra ret:%d ",
+ "%s: NHT %sregistered addr %pFX(%s) with Zebra ret:%d ",
__func__,
- (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de", buf,
+ (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de", p,
pim->vrf->name, ret);
- }
return;
}
@@ -89,7 +88,6 @@ static struct pim_nexthop_cache *pim_nexthop_cache_add(struct pim_instance *pim,
{
struct pim_nexthop_cache *pnc;
char hash_name[64];
- char buf1[64];
pnc = XCALLOC(MTYPE_PIM_NEXTHOP_CACHE,
sizeof(struct pim_nexthop_cache));
@@ -103,8 +101,8 @@ static struct pim_nexthop_cache *pim_nexthop_cache_add(struct pim_instance *pim,
pnc->rp_list = list_new();
pnc->rp_list->cmp = pim_rp_list_cmp;
- snprintf(hash_name, sizeof(hash_name), "PNC %s(%s) Upstream Hash",
- prefix2str(&pnc->rpf.rpf_addr, buf1, 64), pim->vrf->name);
+ snprintfrr(hash_name, sizeof(hash_name), "PNC %pFX(%s) Upstream Hash",
+ &pnc->rpf.rpf_addr, pim->vrf->name);
pnc->upstream_hash = hash_create_size(8192, pim_upstream_hash_key,
pim_upstream_equal, hash_name);
@@ -140,13 +138,10 @@ int pim_find_or_track_nexthop(struct pim_instance *pim, struct prefix *addr,
pnc = pim_nexthop_cache_add(pim, &rpf);
pim_sendmsg_zebra_rnh(pim, zclient, pnc,
ZEBRA_NEXTHOP_REGISTER);
- if (PIM_DEBUG_PIM_NHT) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(addr, buf, sizeof(buf));
+ if (PIM_DEBUG_PIM_NHT)
zlog_debug(
- "%s: NHT cache and zebra notification added for %s(%s)",
- __func__, buf, pim->vrf->name);
- }
+ "%s: NHT cache and zebra notification added for %pFX(%s)",
+ __func__, addr, pim->vrf->name);
}
if (rp != NULL) {
@@ -215,14 +210,11 @@ void pim_delete_tracked_nexthop(struct pim_instance *pim, struct prefix *addr,
if (del_bsr_tracking)
pnc->bsr_tracking = false;
- if (PIM_DEBUG_PIM_NHT) {
- char buf[PREFIX_STRLEN];
- prefix2str(addr, buf, sizeof(buf));
+ if (PIM_DEBUG_PIM_NHT)
zlog_debug(
- "%s: NHT %s(%s) rp_list count:%d upstream count:%ld",
- __func__, buf, pim->vrf->name,
+ "%s: NHT %pFX(%s) rp_list count:%d upstream count:%ld",
+ __func__, addr, pim->vrf->name,
pnc->rp_list->count, pnc->upstream_hash->count);
- }
if (pnc->rp_list->count == 0
&& pnc->upstream_hash->count == 0
@@ -744,13 +736,10 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
prefix_copy(&rpf.rpf_addr, &nhr.prefix);
pnc = pim_nexthop_cache_find(pim, &rpf);
if (!pnc) {
- if (PIM_DEBUG_PIM_NHT) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(&rpf.rpf_addr, buf, sizeof(buf));
+ if (PIM_DEBUG_PIM_NHT)
zlog_debug(
- "%s: Skipping NHT update, addr %s is not in local cached DB.",
- __func__, buf);
- }
+ "%s: Skipping NHT update, addr %pFX is not in local cached DB.",
+ __func__, &rpf.rpf_addr);
return 0;
}
} else {
@@ -819,17 +808,13 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
continue;
}
- if (PIM_DEBUG_PIM_NHT) {
- char p_str[PREFIX2STR_BUFFER];
-
- prefix2str(&nhr.prefix, p_str, sizeof(p_str));
+ if (PIM_DEBUG_PIM_NHT)
zlog_debug(
- "%s: NHT addr %s(%s) %d-nhop via %s(%s) type %d distance:%u metric:%u ",
- __func__, p_str, pim->vrf->name, i + 1,
- inet_ntoa(nexthop->gate.ipv4),
+ "%s: NHT addr %pFX(%s) %d-nhop via %pI4(%s) type %d distance:%u metric:%u ",
+ __func__, &nhr.prefix, pim->vrf->name,
+ i + 1, &nexthop->gate.ipv4,
ifp->name, nexthop->type, nhr.distance,
nhr.metric);
- }
if (!ifp->info) {
/*
@@ -879,15 +864,12 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
}
SET_FLAG(pnc->flags, PIM_NEXTHOP_ANSWER_RECEIVED);
- if (PIM_DEBUG_PIM_NHT) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(&nhr.prefix, buf, sizeof(buf));
+ if (PIM_DEBUG_PIM_NHT)
zlog_debug(
- "%s: NHT Update for %s(%s) num_nh %d num_pim_nh %d vrf:%u up %ld rp %d",
- __func__, buf, pim->vrf->name, nhr.nexthop_num,
+ "%s: NHT Update for %pFX(%s) num_nh %d num_pim_nh %d vrf:%u up %ld rp %d",
+ __func__, &nhr.prefix, pim->vrf->name, nhr.nexthop_num,
pnc->nexthop_num, vrf_id, pnc->upstream_hash->count,
listcount(pnc->rp_list));
- }
pim_rpf_set_refresh_time(pim);
diff --git a/pimd/pim_register.c b/pimd/pim_register.c
index 19e15f3ede..90b69a54f2 100644
--- a/pimd/pim_register.c
+++ b/pimd/pim_register.c
@@ -75,8 +75,8 @@ void pim_register_stop_send(struct interface *ifp, struct prefix_sg *sg,
struct prefix p;
if (PIM_DEBUG_PIM_REG) {
- zlog_debug("Sending Register stop for %s to %s on %s",
- pim_str_sg_dump(sg), inet_ntoa(originator),
+ zlog_debug("Sending Register stop for %s to %pI4 on %s",
+ pim_str_sg_dump(sg), &originator,
ifp->name);
}
@@ -170,9 +170,9 @@ void pim_register_send(const uint8_t *buf, int buf_size, struct in_addr src,
struct interface *ifp;
if (PIM_DEBUG_PIM_REG) {
- zlog_debug("Sending %s %sRegister Packet to %s", up->sg_str,
+ zlog_debug("Sending %s %sRegister Packet to %pI4", up->sg_str,
null_register ? "NULL " : "",
- inet_ntoa(rpg->rpf_addr.u.prefix4));
+ &rpg->rpf_addr.u.prefix4);
}
ifp = rpg->source_nexthop.interface;
@@ -192,12 +192,9 @@ void pim_register_send(const uint8_t *buf, int buf_size, struct in_addr src,
}
if (PIM_DEBUG_PIM_REG) {
- char rp_str[INET_ADDRSTRLEN];
- strlcpy(rp_str, inet_ntoa(rpg->rpf_addr.u.prefix4),
- sizeof(rp_str));
- zlog_debug("%s: Sending %s %sRegister Packet to %s on %s",
+ zlog_debug("%s: Sending %s %sRegister Packet to %pI4 on %s",
__func__, up->sg_str, null_register ? "NULL " : "",
- rp_str, ifp->name);
+ &rpg->rpf_addr.u.prefix4, ifp->name);
}
memset(buffer, 0, 10000);
diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c
index 11e6d47fc9..7246482f02 100644
--- a/pimd/pim_rp.c
+++ b/pimd/pim_rp.c
@@ -248,14 +248,10 @@ struct rp_info *pim_rp_find_match_group(struct pim_instance *pim,
}
rp_info = rn->info;
- if (PIM_DEBUG_PIM_TRACE) {
- char buf[PREFIX_STRLEN];
-
- zlog_debug("Lookedup: %p for rp_info: %p(%s) Lock: %d", rn,
- rp_info,
- prefix2str(&rp_info->group, buf, sizeof(buf)),
+ if (PIM_DEBUG_PIM_TRACE)
+ zlog_debug("Lookedup: %p for rp_info: %p(%pFX) Lock: %d", rn,
+ rp_info, &rp_info->group,
route_node_get_lock_count(rn));
- }
route_unlock_node(rn);
@@ -354,8 +350,8 @@ void pim_upstream_update(struct pim_instance *pim, struct pim_upstream *up)
up->sg.grp);
if (PIM_DEBUG_PIM_TRACE)
- zlog_debug("%s: pim upstream update for old upstream %s",
- __func__, inet_ntoa(old_upstream_addr));
+ zlog_debug("%s: pim upstream update for old upstream %pI4",
+ __func__, &old_upstream_addr);
if (old_upstream_addr.s_addr == new_upstream_addr.s_addr)
return;
@@ -370,14 +366,10 @@ void pim_upstream_update(struct pim_instance *pim, struct pim_upstream *up)
nht_p.family = AF_INET;
nht_p.prefixlen = IPV4_MAX_BITLEN;
nht_p.u.prefix4 = old_upstream_addr;
- if (PIM_DEBUG_PIM_TRACE) {
- char buf[PREFIX2STR_BUFFER];
-
- prefix2str(&nht_p, buf, sizeof(buf));
+ if (PIM_DEBUG_PIM_TRACE)
zlog_debug(
- "%s: Deregister upstream %s addr %s with Zebra NHT",
- __func__, up->sg_str, buf);
- }
+ "%s: Deregister upstream %s addr %pFX with Zebra NHT",
+ __func__, up->sg_str, &nht_p);
pim_delete_tracked_nexthop(pim, &nht_p, up, NULL, false);
}
@@ -547,15 +539,10 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr,
nht_p.prefixlen = IPV4_MAX_BITLEN;
nht_p.u.prefix4 =
rp_all->rp.rpf_addr.u.prefix4; // RP address
- if (PIM_DEBUG_PIM_NHT_RP) {
- char buf[PREFIX2STR_BUFFER];
- char buf1[PREFIX2STR_BUFFER];
- prefix2str(&nht_p, buf, sizeof(buf));
- prefix2str(&rp_all->group, buf1, sizeof(buf1));
+ if (PIM_DEBUG_PIM_NHT_RP)
zlog_debug(
- "%s: NHT Register rp_all addr %s grp %s ",
- __func__, buf, buf1);
- }
+ "%s: NHT Register rp_all addr %pFX grp %pFX ",
+ __func__, &nht_p, &rp_all->group);
frr_each (rb_pim_upstream, &pim->upstream_head, up) {
/* Find (*, G) upstream whose RP is not
@@ -643,14 +630,10 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr,
rn = route_node_get(pim->rp_table, &rp_info->group);
rn->info = rp_info;
- if (PIM_DEBUG_PIM_TRACE) {
- char buf[PREFIX_STRLEN];
-
- zlog_debug("Allocated: %p for rp_info: %p(%s) Lock: %d", rn,
- rp_info,
- prefix2str(&rp_info->group, buf, sizeof(buf)),
+ if (PIM_DEBUG_PIM_TRACE)
+ zlog_debug("Allocated: %p for rp_info: %p(%pFX) Lock: %d", rn,
+ rp_info, &rp_info->group,
route_node_get_lock_count(rn));
- }
frr_each (rb_pim_upstream, &pim->upstream_head, up) {
if (up->sg.src.s_addr == INADDR_ANY) {
@@ -674,14 +657,9 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr,
nht_p.family = AF_INET;
nht_p.prefixlen = IPV4_MAX_BITLEN;
nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
- if (PIM_DEBUG_PIM_NHT_RP) {
- char buf[PREFIX2STR_BUFFER];
- char buf1[PREFIX2STR_BUFFER];
- prefix2str(&nht_p, buf, sizeof(buf));
- prefix2str(&rp_info->group, buf1, sizeof(buf1));
- zlog_debug("%s: NHT Register RP addr %s grp %s with Zebra ",
- __func__, buf, buf1);
- }
+ if (PIM_DEBUG_PIM_NHT_RP)
+ zlog_debug("%s: NHT Register RP addr %pFX grp %pFX with Zebra ",
+ __func__, &nht_p, &rp_info->group);
pim_find_or_track_nexthop(pim, &nht_p, NULL, rp_info, false, NULL);
if (!pim_ecmp_nexthop_lookup(pim, &rp_info->rp.source_nexthop, &nht_p,
&rp_info->group, 1))
@@ -727,12 +705,10 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
struct pim_upstream *up;
struct bsgrp_node *bsgrp = NULL;
struct bsm_rpinfo *bsrp = NULL;
- char grp_str[PREFIX2STR_BUFFER];
char rp_str[INET_ADDRSTRLEN];
if (!inet_ntop(AF_INET, &rp_addr, rp_str, sizeof(rp_str)))
snprintf(rp_str, sizeof(rp_str), "<rp?>");
- prefix2str(&group, grp_str, sizeof(grp_str));
if (plist)
rp_info = pim_rp_find_prefix_list(pim, rp_addr, plist);
@@ -748,8 +724,8 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
}
if (PIM_DEBUG_PIM_TRACE)
- zlog_debug("%s: Delete RP %s for the group %s", __func__,
- rp_str, grp_str);
+ zlog_debug("%s: Delete RP %s for the group %pFX", __func__,
+ rp_str, &group);
/* While static RP is getting deleted, we need to check if dynamic RP
* present for the same group in BSM RP table, then install the dynamic
@@ -771,8 +747,8 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
"<bsrp?>");
zlog_debug(
- "%s: BSM RP %s found for the group %s",
- __func__, bsrp_str, grp_str);
+ "%s: BSM RP %s found for the group %pFX",
+ __func__, bsrp_str, &group);
}
return pim_rp_change(pim, bsrp->rp_address,
group, RP_SRC_BSR);
@@ -780,8 +756,8 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
} else {
if (PIM_DEBUG_PIM_TRACE)
zlog_debug(
- "%s: BSM RP not found for the group %s",
- __func__, grp_str);
+ "%s: BSM RP not found for the group %pFX",
+ __func__, &group);
}
}
@@ -789,12 +765,9 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
nht_p.family = AF_INET;
nht_p.prefixlen = IPV4_MAX_BITLEN;
nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
- if (PIM_DEBUG_PIM_NHT_RP) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(&nht_p, buf, sizeof(buf));
- zlog_debug("%s: Deregister RP addr %s with Zebra ", __func__,
- buf);
- }
+ if (PIM_DEBUG_PIM_NHT_RP)
+ zlog_debug("%s: Deregister RP addr %pFX with Zebra ", __func__,
+ &nht_p);
pim_delete_tracked_nexthop(pim, &nht_p, NULL, rp_info, false);
if (!str2prefix("224.0.0.0/4", &g_all))
@@ -837,16 +810,12 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
EC_LIB_DEVELOPMENT,
"Expected rn->info to be equal to rp_info");
- if (PIM_DEBUG_PIM_TRACE) {
- char buf[PREFIX_STRLEN];
-
+ if (PIM_DEBUG_PIM_TRACE)
zlog_debug(
- "%s:Found for Freeing: %p for rp_info: %p(%s) Lock: %d",
- __func__, rn, rp_info,
- prefix2str(&rp_info->group, buf,
- sizeof(buf)),
+ "%s:Found for Freeing: %p for rp_info: %p(%pFX) Lock: %d",
+ __func__, rn, rp_info, &rp_info->group,
route_node_get_lock_count(rn));
- }
+
rn->info = NULL;
route_unlock_node(rn);
route_unlock_node(rn);
@@ -925,13 +894,9 @@ int pim_rp_change(struct pim_instance *pim, struct in_addr new_rp_addr,
/* Deregister old RP addr with Zebra NHT */
if (rp_info->rp.rpf_addr.u.prefix4.s_addr != INADDR_ANY) {
nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
- if (PIM_DEBUG_PIM_NHT_RP) {
- char buf[PREFIX2STR_BUFFER];
-
- prefix2str(&nht_p, buf, sizeof(buf));
- zlog_debug("%s: Deregister RP addr %s with Zebra ",
- __func__, buf);
- }
+ if (PIM_DEBUG_PIM_NHT_RP)
+ zlog_debug("%s: Deregister RP addr %pFX with Zebra ",
+ __func__, &nht_p);
pim_delete_tracked_nexthop(pim, &nht_p, NULL, rp_info, false);
}
@@ -961,15 +926,9 @@ int pim_rp_change(struct pim_instance *pim, struct in_addr new_rp_addr,
/* Register new RP addr with Zebra NHT */
nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
- if (PIM_DEBUG_PIM_NHT_RP) {
- char buf[PREFIX2STR_BUFFER];
- char buf1[PREFIX2STR_BUFFER];
-
- prefix2str(&nht_p, buf, sizeof(buf));
- prefix2str(&rp_info->group, buf1, sizeof(buf1));
- zlog_debug("%s: NHT Register RP addr %s grp %s with Zebra ",
- __func__, buf, buf1);
- }
+ if (PIM_DEBUG_PIM_NHT_RP)
+ zlog_debug("%s: NHT Register RP addr %pFX grp %pFX with Zebra ",
+ __func__, &nht_p, &rp_info->group);
pim_find_or_track_nexthop(pim, &nht_p, NULL, rp_info, false, NULL);
if (!pim_ecmp_nexthop_lookup(pim, &rp_info->rp.source_nexthop, &nht_p,
@@ -1145,15 +1104,10 @@ struct pim_rpf *pim_rp_g(struct pim_instance *pim, struct in_addr group)
nht_p.family = AF_INET;
nht_p.prefixlen = IPV4_MAX_BITLEN;
nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
- if (PIM_DEBUG_PIM_NHT_RP) {
- char buf[PREFIX2STR_BUFFER];
- char buf1[PREFIX2STR_BUFFER];
- prefix2str(&nht_p, buf, sizeof(buf));
- prefix2str(&rp_info->group, buf1, sizeof(buf1));
+ if (PIM_DEBUG_PIM_NHT_RP)
zlog_debug(
- "%s: NHT Register RP addr %s grp %s with Zebra",
- __func__, buf, buf1);
- }
+ "%s: NHT Register RP addr %pFX grp %pFX with Zebra",
+ __func__, &nht_p, &rp_info->group);
pim_find_or_track_nexthop(pim, &nht_p, NULL, rp_info, false,
NULL);
pim_rpf_set_refresh_time(pim);
@@ -1208,7 +1162,6 @@ int pim_rp_config_write(struct pim_instance *pim, struct vty *vty,
struct listnode *node;
struct rp_info *rp_info;
char rp_buffer[32];
- char group_buffer[32];
int count = 0;
for (ALL_LIST_ELEMENTS_RO(pim->rp_list, node, rp_info)) {
@@ -1225,11 +1178,11 @@ int pim_rp_config_write(struct pim_instance *pim, struct vty *vty,
rp_buffer, 32),
rp_info->plist);
else
- vty_out(vty, "%sip pim rp %s %s\n", spaces,
+ vty_out(vty, "%sip pim rp %s %pFX\n", spaces,
inet_ntop(AF_INET,
&rp_info->rp.rpf_addr.u.prefix4,
rp_buffer, 32),
- prefix2str(&rp_info->group, group_buffer, 32));
+ &rp_info->group);
count++;
}
@@ -1251,6 +1204,7 @@ void pim_rp_show_information(struct pim_instance *pim, struct vty *vty, bool uj)
struct rp_info *prev_rp_info = NULL;
struct listnode *node;
char source[7];
+ char buf[PREFIX_STRLEN];
json_object *json = NULL;
json_object *json_rp_rows = NULL;
@@ -1283,9 +1237,11 @@ void pim_rp_show_information(struct pim_instance *pim, struct vty *vty, bool uj)
.s_addr) {
json_object_object_add(
json,
- inet_ntoa(prev_rp_info->rp
+ inet_ntop(AF_INET,
+ &prev_rp_info->rp
.rpf_addr.u
- .prefix4),
+ .prefix4,
+ buf, sizeof(buf)),
json_rp_rows);
json_rp_rows = NULL;
}
@@ -1296,8 +1252,10 @@ void pim_rp_show_information(struct pim_instance *pim, struct vty *vty, bool uj)
json_row = json_object_new_object();
json_object_string_add(
json_row, "rpAddress",
- inet_ntoa(rp_info->rp.rpf_addr.u
- .prefix4));
+ inet_ntop(AF_INET,
+ &rp_info->rp.rpf_addr.u
+ .prefix4,
+ buf, sizeof(buf)));
if (rp_info->rp.source_nexthop.interface)
json_object_string_add(
json_row, "outboundInterface",
@@ -1329,15 +1287,16 @@ void pim_rp_show_information(struct pim_instance *pim, struct vty *vty, bool uj)
json_object_array_add(json_rp_rows, json_row);
} else {
vty_out(vty, "%-15s ",
- inet_ntoa(rp_info->rp.rpf_addr.u
- .prefix4));
+ inet_ntop(AF_INET,
+ &rp_info->rp.rpf_addr.u
+ .prefix4,
+ buf, sizeof(buf)));
if (rp_info->plist)
vty_out(vty, "%-18s ", rp_info->plist);
else
- vty_out(vty, "%-18s ",
- prefix2str(&rp_info->group, buf,
- 48));
+ vty_out(vty, "%-18pFX ",
+ &rp_info->group);
if (rp_info->rp.source_nexthop.interface)
vty_out(vty, "%-16s ",
@@ -1361,7 +1320,9 @@ void pim_rp_show_information(struct pim_instance *pim, struct vty *vty, bool uj)
if (prev_rp_info && json_rp_rows)
json_object_object_add(
json,
- inet_ntoa(prev_rp_info->rp.rpf_addr.u.prefix4),
+ inet_ntop(AF_INET,
+ &prev_rp_info->rp.rpf_addr.u.prefix4,
+ buf, sizeof(buf)),
json_rp_rows);
vty_out(vty, "%s\n", json_object_to_json_string_ext(
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c
index d3fb0d46de..d95b092d94 100644
--- a/pimd/pim_upstream.c
+++ b/pimd/pim_upstream.c
@@ -267,13 +267,10 @@ struct pim_upstream *pim_upstream_del(struct pim_instance *pim,
nht_p.family = AF_INET;
nht_p.prefixlen = IPV4_MAX_BITLEN;
nht_p.u.prefix4 = up->upstream_addr;
- if (PIM_DEBUG_PIM_TRACE) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(&nht_p, buf, sizeof(buf));
+ if (PIM_DEBUG_PIM_TRACE)
zlog_debug(
- "%s: Deregister upstream %s addr %s with Zebra NHT",
- __func__, up->sg_str, buf);
- }
+ "%s: Deregister upstream %s addr %pFX with Zebra NHT",
+ __func__, up->sg_str, &nht_p);
pim_delete_tracked_nexthop(pim, &nht_p, up, NULL, false);
}
@@ -954,8 +951,8 @@ static struct pim_upstream *pim_upstream_new(struct pim_instance *pim,
if (PIM_DEBUG_PIM_TRACE) {
zlog_debug(
- "%s: Created Upstream %s upstream_addr %s ref count %d increment",
- __func__, up->sg_str, inet_ntoa(up->upstream_addr),
+ "%s: Created Upstream %s upstream_addr %pI4 ref count %d increment",
+ __func__, up->sg_str, &up->upstream_addr,
up->ref_count);
}
@@ -1062,15 +1059,13 @@ struct pim_upstream *pim_upstream_add(struct pim_instance *pim,
}
if (PIM_DEBUG_PIM_TRACE) {
- if (up) {
- char buf[PREFIX2STR_BUFFER];
- prefix2str(&up->rpf.rpf_addr, buf, sizeof(buf));
- zlog_debug("%s(%s): %s, iif %s (%s) found: %d: ref_count: %d",
+ if (up)
+ zlog_debug("%s(%s): %s, iif %pFX (%s) found: %d: ref_count: %d",
__func__, name,
- up->sg_str, buf, up->rpf.source_nexthop.interface ?
+ up->sg_str, &up->rpf.rpf_addr, up->rpf.source_nexthop.interface ?
up->rpf.source_nexthop.interface->name : "Unknown" ,
found, up->ref_count);
- } else
+ else
zlog_debug("%s(%s): (%s) failure to create", __func__,
name, pim_str_sg_dump(sg));
}
@@ -1773,7 +1768,7 @@ void pim_upstream_start_register_stop_timer(struct pim_upstream *up,
{
uint32_t time;
- THREAD_TIMER_OFF(up->t_rs_timer);
+ THREAD_OFF(up->t_rs_timer);
if (!null_register) {
uint32_t lower = (0.5 * PIM_REGISTER_SUPPRESSION_PERIOD);
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index d089dfda51..f0eae955cc 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -98,8 +98,8 @@ static void dump_if_address(struct interface *ifp)
if (p->family != AF_INET)
continue;
- zlog_debug("%s %s: interface %s address %s %s", __FILE__,
- __func__, ifp->name, inet_ntoa(p->u.prefix4),
+ zlog_debug("%s %s: interface %s address %pI4 %s", __FILE__,
+ __func__, ifp->name, &p->u.prefix4,
CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY)
? "secondary"
: "primary");
@@ -130,10 +130,8 @@ static int pim_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
p = c->address;
if (PIM_DEBUG_ZEBRA) {
- char buf[BUFSIZ];
- prefix2str(p, buf, BUFSIZ);
- zlog_debug("%s: %s(%u) connected IP address %s flags %u %s",
- __func__, c->ifp->name, vrf_id, buf, c->flags,
+ zlog_debug("%s: %s(%u) connected IP address %pFX flags %u %s",
+ __func__, c->ifp->name, vrf_id, p, c->flags,
CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY)
? "secondary"
: "primary");
@@ -149,17 +147,10 @@ static int pim_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
struct in_addr primary_addr = pim_find_primary_addr(c->ifp);
if (p->family != AF_INET
|| primary_addr.s_addr != p->u.prefix4.s_addr) {
- if (PIM_DEBUG_ZEBRA) {
- /* but we had a primary address already */
-
- char buf[BUFSIZ];
-
- prefix2str(p, buf, BUFSIZ);
-
+ if (PIM_DEBUG_ZEBRA)
zlog_warn(
- "%s: %s : forcing secondary flag on %s",
- __func__, c->ifp->name, buf);
- }
+ "%s: %s : forcing secondary flag on %pFX",
+ __func__, c->ifp->name, p);
SET_FLAG(c->flags, ZEBRA_IFA_SECONDARY);
}
}
@@ -211,11 +202,9 @@ static int pim_zebra_if_address_del(ZAPI_CALLBACK_ARGS)
p = c->address;
if (p->family == AF_INET) {
if (PIM_DEBUG_ZEBRA) {
- char buf[BUFSIZ];
- prefix2str(p, buf, BUFSIZ);
zlog_debug(
- "%s: %s(%u) disconnected IP address %s flags %u %s",
- __func__, c->ifp->name, vrf_id, buf, c->flags,
+ "%s: %s(%u) disconnected IP address %pFX flags %u %s",
+ __func__, c->ifp->name, vrf_id, p, c->flags,
CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY)
? "secondary"
: "primary");
@@ -848,9 +837,9 @@ void pim_forward_start(struct pim_ifchannel *ch)
sizeof(group_str));
pim_inet4_dump("<upstream?>", up->upstream_addr, upstream_str,
sizeof(upstream_str));
- zlog_debug("%s: (S,G)=(%s,%s) oif=%s (%s)", __func__,
+ zlog_debug("%s: (S,G)=(%s,%s) oif=%s (%pI4)", __func__,
source_str, group_str, ch->interface->name,
- inet_ntoa(up->upstream_addr));
+ &up->upstream_addr);
}
if (PIM_IF_FLAG_TEST_PROTO_IGMP(ch->flags))