Commit fcf92eb6c3 for frr
commit fcf92eb6c35f3922e6bb8362b6936f5fa384658a
Author: Donald Sharp <sharpd@nvidia.com>
Date: Tue Oct 20 11:04:52 2026 -0400
pimd: Standardize prefix output, %pFX, in debugs
Currently there are two problems with using %pFX in pimd
debugs:
a) The vrf name, vrf id and table were not being output for
every debug. When a prefix is used in multiple vrf's it
is difficult to know if the debug being looked at is for
the instance of interest.
b) The output was not standardized. Some debugs had the vrf
name after the prefix and most had nothing at all. Solidify
on "(%s:%u:%u)%pFX", vrf_name, vrf_id, table_id, prefix.
This allows very easy grepping.
Add PIM_DEBUG_VRF() to generate the vrf name, vrf id and table
id arguments from a struct vrf.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
diff --git a/pimd/pim_autorp.c b/pimd/pim_autorp.c
index 0f98abcdb9..420123489c 100644
--- a/pimd/pim_autorp.c
+++ b/pimd/pim_autorp.c
@@ -424,8 +424,8 @@ static void autorp_ma_rp_holdtime(struct event *evt)
struct pim_autorp_rp *rp = EVENT_ARG(evt);
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: AutoRP hold time expired, RP removed from mapping agent: addr=%pI4, grp=%pFX, grplist=%s",
- __func__, &rp->addr, &rp->grp,
+ zlog_debug("%s: AutoRP hold time expired, RP removed from mapping agent: addr=%pI4, grp=(%s:%u:%u)%pFX, grplist=%s",
+ __func__, &rp->addr, PIM_DEBUG_VRF(rp->autorp->pim->vrf), &rp->grp,
(strlen(rp->grplist) ? rp->grplist : "NONE"));
pim_autorp_rp_del(&(rp->autorp->mapping_rp_list), rp);
@@ -514,8 +514,9 @@ static bool autorp_announcement_prescan_ok(struct pim_autorp *autorp, uint8_t rp
if (!pim_autorp_group_prefix_valid(&grp_pfx)) {
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: invalid group prefix %pFX for RP %pPA (prescan)",
- __func__, &grp_pfx, &pre_rp_addr);
+ zlog_debug("%s: invalid group prefix (%s:%u:%u)%pFX for RP %pPA (prescan)",
+ __func__, PIM_DEBUG_VRF(autorp->pim->vrf),
+ &grp_pfx, &pre_rp_addr);
return false;
}
}
@@ -647,16 +648,18 @@ static bool autorp_announcement_apply_mapping_rp(struct pim_autorp *autorp, uint
if (!pim_autorp_group_prefix_valid(&lgrp->grp)) {
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: invalid group prefix %pFX for RP %pPA", __func__,
- &lgrp->grp, &rp_addr);
+ zlog_debug("%s: invalid group prefix (%s:%u:%u)%pFX for RP %pPA",
+ __func__, PIM_DEBUG_VRF(autorp->pim->vrf), &lgrp->grp,
+ &rp_addr);
XFREE(MTYPE_PIM_AUTORP_GRPPFIX, lgrp);
autorp_announce_abort_parse(autorp, ma_rp, ma_rp_new, &new_grps);
return false;
}
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: %s%pFX added to candidate RP %pPA", __func__,
- (lgrp->negative ? "!" : ""), &lgrp->grp, &rp_addr);
+ zlog_debug("%s: %s(%s:%u:%u)%pFX added to candidate RP %pPA", __func__,
+ (lgrp->negative ? "!" : ""), PIM_DEBUG_VRF(autorp->pim->vrf),
+ &lgrp->grp, &rp_addr);
tgrp = pim_autorp_grppfix_add(&new_grps, lgrp);
if (tgrp != NULL) {
@@ -664,8 +667,8 @@ static bool autorp_announcement_apply_mapping_rp(struct pim_autorp *autorp, uint
* allocated group prefix
*/
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: %pFX was duplicated in AutoRP announcement",
- __func__, &lgrp->grp);
+ zlog_debug("%s: (%s:%u:%u)%pFX was duplicated in AutoRP announcement",
+ __func__, PIM_DEBUG_VRF(autorp->pim->vrf), &lgrp->grp);
XFREE(MTYPE_PIM_AUTORP_GRPPFIX, lgrp);
}
}
@@ -778,8 +781,8 @@ static void autorp_cand_rp_holdtime(struct event *evt)
struct pim_autorp_rp *rp = EVENT_ARG(evt);
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: AutoRP hold time expired, RP removed: addr=%pI4, grp=%pFX, grplist=%s",
- __func__, &rp->addr, &rp->grp,
+ zlog_debug("%s: AutoRP hold time expired, RP removed: addr=%pI4, grp=(%s:%u:%u)%pFX, grplist=%s",
+ __func__, &rp->addr, PIM_DEBUG_VRF(rp->autorp->pim->vrf), &rp->grp,
(strlen(rp->grplist) ? rp->grplist : "NONE"));
pim_autorp_rp_del(&(rp->autorp->discovery_rp_list), rp);
@@ -805,8 +808,9 @@ static bool pim_autorp_add_rp(struct pim_autorp *autorp, pim_addr rpaddr, struct
/* There may not be a path to the RP right now, but that doesn't mean it failed to add the RP */
if (ret != PIM_SUCCESS && ret != PIM_RP_NO_PATH) {
- zlog_warn("%s: Failed to add active RP addr=%pI4, grp=%pFX, grplist=%s", __func__,
- &rpaddr, &grp, (listname ? listname : "NONE"));
+ zlog_warn("%s: Failed to add active RP addr=%pI4, grp=(%s:%u:%u)%pFX, grplist=%s",
+ __func__, &rpaddr, PIM_DEBUG_VRF(autorp->pim->vrf), &grp,
+ (listname ? listname : "NONE"));
return false;
}
@@ -820,8 +824,9 @@ static bool pim_autorp_add_rp(struct pim_autorp *autorp, pim_addr rpaddr, struct
trp = rp;
/* Make sure the timer is NULL so the cancel below doesn't mess up */
trp->hold_timer = NULL;
- zlog_info("%s: Added new AutoRP learned RP addr=%pI4, grp=%pFX, grplist=%s",
- __func__, &rpaddr, &grp, (listname ? listname : "NONE"));
+ zlog_info("%s: Added new AutoRP learned RP addr=%pI4, grp=(%s:%u:%u)%pFX, grplist=%s",
+ __func__, &rpaddr, PIM_DEBUG_VRF(autorp->pim->vrf), &grp,
+ (listname ? listname : "NONE"));
}
/* Cancel any existing timer before restarting it */
@@ -1008,9 +1013,9 @@ static size_t autorp_build_disc_rps(struct pim_autorp *autorp, uint8_t *buf, siz
bgrp->negprefix = grp->negative;
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: Add group %s%pFX for RP %pI4 to discovery message",
- __func__, (grp->negative ? "!" : ""), &grp->grp,
- &rp->addr);
+ zlog_debug("%s: Add group %s(%s:%u:%u)%pFX for RP %pI4 to discovery message",
+ __func__, (grp->negative ? "!" : ""),
+ PIM_DEBUG_VRF(autorp->pim->vrf), &grp->grp, &rp->addr);
}
/* Update the size with this RP now that it is packed */
@@ -1317,16 +1322,18 @@ static bool autorp_recv_discovery(struct pim_autorp *autorp, uint8_t rpcnt, uint
if (!pim_autorp_group_prefix_valid(&grppfix)) {
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: invalid discovery group prefix %pFX for RP %pPA",
- __func__, &grppfix, &rp_addr);
+ zlog_debug("%s: invalid discovery group prefix (%s:%u:%u)%pFX for RP %pPA",
+ __func__, PIM_DEBUG_VRF(autorp->pim->vrf),
+ &grppfix, &rp_addr);
/* Same as multi-group path: do not abort the whole message */
success = false;
continue;
}
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: Parsing group %s%pFX for RP %pI4", __func__,
- (grp->negprefix ? "!" : ""), &grppfix, &rp_addr);
+ zlog_debug("%s: Parsing group %s(%s:%u:%u)%pFX for RP %pI4",
+ __func__, (grp->negprefix ? "!" : ""),
+ PIM_DEBUG_VRF(autorp->pim->vrf), &grppfix, &rp_addr);
if (!pim_autorp_add_rp(autorp, rp_addr, grppfix, NULL, holdtime))
success = false;
@@ -1363,8 +1370,10 @@ static bool autorp_recv_discovery(struct pim_autorp *autorp, uint8_t rpcnt, uint
grppfix.u.prefix4.s_addr = grp->addr;
if (!pim_autorp_group_prefix_valid(&grppfix)) {
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: invalid discovery group prefix %pFX for RP %pPA",
- __func__, &grppfix, &rp_addr);
+ zlog_debug("%s: invalid discovery group prefix (%s:%u:%u)%pFX for RP %pPA",
+ __func__,
+ PIM_DEBUG_VRF(autorp->pim->vrf),
+ &grppfix, &rp_addr);
grp_parse_ok = false;
break;
}
@@ -1385,8 +1394,9 @@ static bool autorp_recv_discovery(struct pim_autorp *autorp, uint8_t rpcnt, uint
prefix_list_entry_update_finish(ple);
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: Parsing group %s%pFX for RP %pPA", __func__,
- (grp->negprefix ? "!" : ""), &ple->prefix,
+ zlog_debug("%s: Parsing group %s(%s:%u:%u)%pFX for RP %pPA",
+ __func__, (grp->negprefix ? "!" : ""),
+ PIM_DEBUG_VRF(autorp->pim->vrf), &ple->prefix,
&rp_addr);
}
if (!grp_parse_ok) {
@@ -1761,8 +1771,9 @@ static int pim_autorp_new_announcement_rps(struct pim_autorp *autorp, uint8_t *b
* so skip this one
*/
if (PIM_DEBUG_AUTORP)
- zlog_debug("%s: Evaluating AutoRP candidate %pI4, group range %pFX, group list %s",
- __func__, &rp->addr, &rp->grp, rp->grplist);
+ zlog_debug("%s: Evaluating AutoRP candidate %pI4, group range (%s:%u:%u)%pFX, group list %s",
+ __func__, &rp->addr, PIM_DEBUG_VRF(autorp->pim->vrf), &rp->grp,
+ rp->grplist);
if (pim_addr_is_any(rp->addr) ||
(is_default_prefix(&rp->grp) && strlen(rp->grplist) == 0))
diff --git a/pimd/pim_bsm.c b/pimd/pim_bsm.c
index b7deb8dfe0..73fa87d26b 100644
--- a/pimd/pim_bsm.c
+++ b/pimd/pim_bsm.c
@@ -444,10 +444,10 @@ static void pim_g2rp_timer_start(struct bsm_rpinfo *bsrp, int hold_time)
}
event_cancel(&bsrp->g2rp_timer);
if (PIM_DEBUG_BSM)
- zlog_debug(
- "%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);
+ zlog_debug("%s : starting g2rp timer for grp: (%s:%u:%u)%pFX - rp: %pPAs with timeout %d secs(Actual Hold time : %d secs)",
+ __func__, PIM_DEBUG_VRF(bsrp->bsgrp_node->scope->pim->vrf),
+ &bsrp->bsgrp_node->group, &bsrp->rp_address, hold_time,
+ bsrp->rp_holdtime);
event_add_timer(router->master, pim_on_g2rp_timer, bsrp, hold_time,
&bsrp->g2rp_timer);
@@ -465,9 +465,9 @@ 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: %pPAs",
- __func__, &bsrp->bsgrp_node->group,
- &bsrp->rp_address);
+ zlog_debug("%s : stopping g2rp timer for grp: (%s:%u:%u)%pFX - rp: %pPAs",
+ __func__, PIM_DEBUG_VRF(bsrp->bsgrp_node->scope->pim->vrf),
+ &bsrp->bsgrp_node->group, &bsrp->rp_address);
event_cancel(&bsrp->g2rp_timer);
}
@@ -1323,8 +1323,9 @@ static bool pim_install_bsm_grp_rp(struct pim_instance *pim,
if (pim_bsm_scope_cannot_add_rp(scope, grpnode)) {
if (PIM_DEBUG_BSM)
- zlog_debug("%s: dropping BSM RP entry for group %pFX (limit %u reached)",
- __func__, &grpnode->group, PIM_BSM_MAX_RP_ENTRIES);
+ zlog_debug("%s: dropping BSM RP entry for group (%s:%u:%u)%pFX (limit %u reached)",
+ __func__, PIM_DEBUG_VRF(pim->vrf), &grpnode->group,
+ PIM_BSM_MAX_RP_ENTRIES);
return false;
}
@@ -1476,8 +1477,9 @@ bool pim_bsm_parse_install_g2rp(struct bsm_scope *scope, uint8_t *buf,
size_t skip_rp;
if (PIM_DEBUG_BSM)
- zlog_debug("%s: cannot create new group node %pFX, RP limit %u reached",
- __func__, &group, PIM_BSM_MAX_RP_ENTRIES);
+ zlog_debug("%s: cannot create new group node (%s:%u:%u)%pFX, RP limit %u reached",
+ __func__, PIM_DEBUG_VRF(scope->pim->vrf),
+ &group, PIM_BSM_MAX_RP_ENTRIES);
skip_rp = sizeof(struct bsmmsg_rpinfo) *
(size_t)grpinfo.frag_rp_count;
if (offset > buflen || (size_t)(buflen - offset) < skip_rp)
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index 987838861a..f2bf2cb5c2 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -616,11 +616,9 @@ void pim_if_addr_add(struct connected *ifc)
return;
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");
+ zlog_debug("%s: %s ifindex=%d connected IP address (%s:%u:%u)%pFX %s", __func__,
+ ifp->name, ifp->ifindex, PIM_DEBUG_VRF(ifc->ifp->vrf), ifc->address,
+ CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY) ? "secondary" : "primary");
#if PIM_IPV != 4
if (IN6_IS_ADDR_LINKLOCAL(&ifc->address->u.prefix6) ||
IN6_IS_ADDR_LOOPBACK(&ifc->address->u.prefix6)) {
@@ -793,11 +791,9 @@ void pim_if_addr_del(struct connected *ifc, int force_prim_as_any)
assert(ifp);
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");
+ zlog_debug("%s: %s ifindex=%d disconnected IP address (%s:%u:%u)%pFX %s", __func__,
+ ifp->name, ifp->ifindex, PIM_DEBUG_VRF(ifc->ifp->vrf), ifc->address,
+ CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY) ? "secondary" : "primary");
#if PIM_IPV == 6
struct pim_interface *pim_ifp = ifc->ifp->info;
diff --git a/pimd/pim_instance.h b/pimd/pim_instance.h
index 128f9244d0..f6be1c39ee 100644
--- a/pimd/pim_instance.h
+++ b/pimd/pim_instance.h
@@ -261,6 +261,18 @@ void pim_vrf_terminate(void);
extern struct pim_router *router;
+/*
+ * Arguments for the "(%s:%u:%u)" vrf name, vrf id, table id prefix
+ * used in front of a prefix or (S,G) in debugs. For example:
+ *
+ * zlog_debug("route (%s:%u:%u)%pSG", PIM_DEBUG_VRF(pim->vrf), &sg);
+ *
+ * Note that the argument is evaluated more than once.
+ */
+#define PIM_DEBUG_VRF(vrf) \
+ (vrf) ? (vrf)->name : "Unknown", (vrf) ? (vrf)->vrf_id : VRF_UNKNOWN, \
+ (vrf) ? (vrf)->data.l.table_id : 0
+
struct pim_instance *pim_get_pim_instance(vrf_id_t vrf_id);
void pim_vrf_shutdown(struct pim_instance *pim, bool shutdown);
diff --git a/pimd/pim_nht.c b/pimd/pim_nht.c
index c237e84507..c777dd7c01 100644
--- a/pimd/pim_nht.c
+++ b/pimd/pim_nht.c
@@ -238,9 +238,9 @@ static void pim_sendmsg_zebra_rnh(struct pim_instance *pim, struct zclient *zcli
"sendmsg_nexthop: zclient_send_message() failed registering MRIB tracking");
if (PIM_DEBUG_PIM_NHT)
- zlog_debug("%s: MRIB NHT %sregistered addr %pFX(%s) with Zebra ret:%d ", __func__,
- (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de", &p, pim->vrf->name,
- ret);
+ zlog_debug("%s: MRIB NHT %sregistered addr (%s:%u:%u)%pFX with Zebra ret:%d ",
+ __func__, (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de",
+ PIM_DEBUG_VRF(pim->vrf), &p, ret);
/* Also register to track nexthops from the URIB */
ret = zclient_send_rnh(zclient, command, &p, SAFI_UNICAST, false, false, pim->vrf->vrf_id);
@@ -249,9 +249,9 @@ static void pim_sendmsg_zebra_rnh(struct pim_instance *pim, struct zclient *zcli
"sendmsg_nexthop: zclient_send_message() failed registering URIB tracking");
if (PIM_DEBUG_PIM_NHT)
- zlog_debug("%s: URIB NHT %sregistered addr %pFX(%s) with Zebra ret:%d ", __func__,
- (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de", &p, pim->vrf->name,
- ret);
+ zlog_debug("%s: URIB NHT %sregistered addr (%s:%u:%u)%pFX with Zebra ret:%d ",
+ __func__, (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de",
+ PIM_DEBUG_VRF(pim->vrf), &p, ret);
return;
}
@@ -1937,8 +1937,8 @@ void pim_nexthop_update(struct vrf *vrf, struct prefix *match, struct zapi_route
#else
pim_addr nhaddr = nexthop->gate.ipv6;
#endif
- zlog_debug("%s: NHT addr %pFX(%s) %d-nhop via %pPA(%s) type %d distance:%u metric:%u ",
- __func__, match, pim->vrf->name, i + 1, &nhaddr, ifp->name,
+ zlog_debug("%s: NHT addr (%s:%u:%u)%pFX %d-nhop via %pPA(%s) type %d distance:%u metric:%u ",
+ __func__, PIM_DEBUG_VRF(vrf), match, i + 1, &nhaddr, ifp->name,
nexthop->type, nhr->distance, nhr->metric);
}
@@ -1982,9 +1982,10 @@ void pim_nexthop_update(struct vrf *vrf, struct prefix *match, struct zapi_route
}
if (PIM_DEBUG_PIM_NHT)
- zlog_debug("%s: NHT Update for %pFX(%s) num_nh %d num_pim_nh %d vrf:%u up %ld rp %d",
- __func__, match, pim->vrf->name, nhr->nexthop_num, pnc_rib->nexthop_num,
- vrf->vrf_id, pnc->upstream_hash->count, listcount(pnc->rp_list));
+ zlog_debug("%s: NHT Update for (%s:%u:%u)%pFX num_nh %d num_pim_nh %d vrf:%u up %ld rp %d",
+ __func__, PIM_DEBUG_VRF(vrf), match, nhr->nexthop_num,
+ pnc_rib->nexthop_num, vrf->vrf_id, pnc->upstream_hash->count,
+ listcount(pnc->rp_list));
pim_rpf_set_refresh_time(pim);
diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c
index a492b6f939..9bceb81bd8 100644
--- a/pimd/pim_rp.c
+++ b/pimd/pim_rp.c
@@ -91,9 +91,8 @@ void pim_rp_init(struct pim_instance *pim)
rn = route_node_get(pim->rp_table, &rp_info->group);
rn->info = rp_info;
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));
+ zlog_debug("Allocated: %p for rp_info: %p((%s:%u:%u)%pFX) Lock: %d", rn, rp_info,
+ PIM_DEBUG_VRF(pim->vrf), &rp_info->group, route_node_get_lock_count(rn));
#if PIM_IPV == 6
/*
@@ -239,8 +238,9 @@ struct rp_info *pim_rp_find_match_group(struct pim_instance *pim,
rp_info = rn->info ? rn->info : NULL;
if (rp_info && PIM_DEBUG_PIM_TRACE_DETAIL) {
- zlog_debug("Lookedup(%pFX): rn %p found:%pFX", group, rn,
- &rp_info->group);
+ zlog_debug("Lookedup((%s:%u:%u)%pFX): rn %p found:(%s:%u:%u)%pFX",
+ PIM_DEBUG_VRF(pim->vrf), group, rn,
+ PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
}
route_unlock_node(rn);
@@ -284,12 +284,13 @@ struct rp_info *pim_rp_find_match_group(struct pim_instance *pim,
rp_info = rn->info;
if (PIM_DEBUG_PIM_TRACE_DETAIL) {
if (best)
- zlog_debug(
- "Lookedup(%pFX): prefix_list match %s, rn %p found: %pFX",
- group, best->plist, rn, &rp_info->group);
+ zlog_debug("Lookedup((%s:%u:%u)%pFX): prefix_list match %s, rn %p found: (%s:%u:%u)%pFX",
+ PIM_DEBUG_VRF(pim->vrf), group, best->plist, rn,
+ PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
else
- zlog_debug("Lookedup(%pFX): rn %p found:%pFX", group,
- rn, &rp_info->group);
+ zlog_debug("Lookedup((%s:%u:%u)%pFX): rn %p found:(%s:%u:%u)%pFX",
+ PIM_DEBUG_VRF(pim->vrf), group, rn, PIM_DEBUG_VRF(pim->vrf),
+ &rp_info->group);
}
route_unlock_node(rn);
@@ -555,9 +556,9 @@ int pim_rp_new(struct pim_instance *pim, pim_addr rp_addr, struct prefix group,
/* Register addr with Zebra NHT */
nht_p = rp_all->rp.rpf_addr;
if (PIM_DEBUG_PIM_NHT_RP)
- zlog_debug(
- "%s: NHT Register rp_all addr %pPA grp %pFX ",
- __func__, &nht_p, &rp_all->group);
+ zlog_debug("%s: NHT Register rp_all addr %pPA grp (%s:%u:%u)%pFX ",
+ __func__, &nht_p, PIM_DEBUG_VRF(pim->vrf),
+ &rp_all->group);
frr_each (rb_pim_upstream, &pim->upstream_head, up) {
/* Find (*, G) upstream whose RP is not
@@ -582,8 +583,9 @@ int pim_rp_new(struct pim_instance *pim, pim_addr rp_addr, struct prefix group,
pim_rp_check_interfaces(pim, rp_all);
if (rp_all->i_am_rp && PIM_DEBUG_PIM_NHT_RP)
- zlog_debug("new RP %pPA for %pFX is ourselves",
- &rp_all->rp.rpf_addr, &rp_all->group);
+ zlog_debug("new RP %pPA for (%s:%u:%u)%pFX is ourselves",
+ &rp_all->rp.rpf_addr, PIM_DEBUG_VRF(pim->vrf),
+ &rp_all->group);
pim_rp_refresh_group_to_rp_mapping(pim);
pim_nht_find_or_track(pim, nht_p, NULL, rp_all, NULL);
@@ -650,8 +652,8 @@ int pim_rp_new(struct pim_instance *pim, pim_addr rp_addr, struct prefix group,
}
if (PIM_DEBUG_PIM_TRACE)
- zlog_debug("Allocated: %p for rp_info: %p(%pFX) Lock: %d", rn,
- rp_info, &rp_info->group,
+ zlog_debug("Allocated: %p for rp_info: %p((%s:%u:%u)%pFX) Lock: %d", rn, rp_info,
+ PIM_DEBUG_VRF(pim->vrf), &rp_info->group,
rn ? route_node_get_lock_count(rn) : 0);
frr_each (rb_pim_upstream, &pim->upstream_head, up) {
@@ -674,15 +676,15 @@ int pim_rp_new(struct pim_instance *pim, pim_addr rp_addr, struct prefix group,
pim_rp_check_interfaces(pim, rp_info);
if (rp_info->i_am_rp && PIM_DEBUG_PIM_NHT_RP)
- zlog_debug("new RP %pPA for %pFX is ourselves",
- &rp_info->rp.rpf_addr, &rp_info->group);
+ zlog_debug("new RP %pPA for (%s:%u:%u)%pFX is ourselves", &rp_info->rp.rpf_addr,
+ PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
pim_rp_refresh_group_to_rp_mapping(pim);
/* Register addr with Zebra NHT */
nht_p = rp_info->rp.rpf_addr;
if (PIM_DEBUG_PIM_NHT_RP)
- zlog_debug("%s: NHT Register RP addr %pPA grp %pFX with Zebra ",
- __func__, &nht_p, &rp_info->group);
+ zlog_debug("%s: NHT Register RP addr %pPA grp (%s:%u:%u)%pFX with Zebra ",
+ __func__, &nht_p, PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
pim_nht_find_or_track(pim, nht_p, NULL, rp_info, NULL);
if (!pim_nht_lookup_ecmp(pim, &rp_info->rp.source_nexthop, nht_p, &rp_info->group, true,
NULL))
@@ -743,8 +745,8 @@ int pim_rp_del(struct pim_instance *pim, pim_addr rp_addr, struct prefix group,
}
if (PIM_DEBUG_PIM_TRACE)
- zlog_debug("%s: Delete RP %pPA for the group %pFX", __func__,
- &rp_addr, &group);
+ zlog_debug("%s: Delete RP %pPA for the group (%s:%u:%u)%pFX", __func__, &rp_addr,
+ PIM_DEBUG_VRF(pim->vrf), &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
@@ -757,18 +759,16 @@ int pim_rp_del(struct pim_instance *pim, pim_addr rp_addr, struct prefix group,
bsrp = bsm_rpinfos_first(bsgrp->bsrp_list);
if (bsrp) {
if (PIM_DEBUG_PIM_TRACE)
- zlog_debug(
- "%s: BSM RP %pPA found for the group %pFX",
- __func__, &bsrp->rp_address,
- &group);
+ zlog_debug("%s: BSM RP %pPA found for the group (%s:%u:%u)%pFX",
+ __func__, &bsrp->rp_address,
+ PIM_DEBUG_VRF(pim->vrf), &group);
return pim_rp_change(pim, bsrp->rp_address,
group, RP_SRC_BSR);
}
} else {
if (PIM_DEBUG_PIM_TRACE)
- zlog_debug(
- "%s: BSM RP not found for the group %pFX",
- __func__, &group);
+ zlog_debug("%s: BSM RP not found for the group (%s:%u:%u)%pFX",
+ __func__, PIM_DEBUG_VRF(pim->vrf), &group);
}
}
@@ -821,10 +821,9 @@ int pim_rp_del(struct pim_instance *pim, pim_addr rp_addr, struct prefix group,
"Expected rn->info to be equal to rp_info");
if (PIM_DEBUG_PIM_TRACE)
- zlog_debug(
- "%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));
+ zlog_debug("%s:Found for Freeing: %p for rp_info: %p((%s:%u:%u)%pFX) Lock: %d",
+ __func__, rn, rp_info, PIM_DEBUG_VRF(pim->vrf),
+ &rp_info->group, route_node_get_lock_count(rn));
rn->info = NULL;
route_unlock_node(rn);
@@ -957,8 +956,8 @@ int pim_rp_change(struct pim_instance *pim, pim_addr new_rp_addr,
/* Register new RP addr with Zebra NHT */
nht_p = rp_info->rp.rpf_addr;
if (PIM_DEBUG_PIM_NHT_RP)
- zlog_debug("%s: NHT Register RP addr %pPA grp %pFX with Zebra ",
- __func__, &nht_p, &rp_info->group);
+ zlog_debug("%s: NHT Register RP addr %pPA grp (%s:%u:%u)%pFX with Zebra ",
+ __func__, &nht_p, PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
pim_nht_find_or_track(pim, nht_p, NULL, rp_info, NULL);
if (!pim_nht_lookup_ecmp(pim, &rp_info->rp.source_nexthop, nht_p, &rp_info->group, true,
@@ -1135,9 +1134,8 @@ struct pim_rpf *pim_rp_g(struct pim_instance *pim, pim_addr group)
/* Register addr with Zebra NHT */
nht_p = rp_info->rp.rpf_addr;
if (PIM_DEBUG_PIM_NHT_RP)
- zlog_debug(
- "%s: NHT Register RP addr %pPA grp %pFX with Zebra",
- __func__, &nht_p, &rp_info->group);
+ zlog_debug("%s: NHT Register RP addr %pPA grp (%s:%u:%u)%pFX with Zebra",
+ __func__, &nht_p, PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
pim_nht_find_or_track(pim, nht_p, NULL, rp_info, NULL);
pim_rpf_set_refresh_time(pim);
if (!pim_nht_lookup_ecmp(pim, &rp_info->rp.source_nexthop, nht_p, &rp_info->group,
@@ -1520,13 +1518,13 @@ void pim_embedded_rp_new(struct pim_instance *pim, const pim_addr *group, const
pim_zebra_update_all_interfaces(pim);
pim_rp_check_interfaces(pim, rp_info);
if (rp_info->i_am_rp && PIM_DEBUG_PIM_NHT_RP)
- zlog_debug("new RP %pPA for %pFX is ourselves", &rp_info->rp.rpf_addr,
- &rp_info->group);
+ zlog_debug("new RP %pPA for (%s:%u:%u)%pFX is ourselves", &rp_info->rp.rpf_addr,
+ PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
pim_rp_refresh_group_to_rp_mapping(pim);
if (PIM_DEBUG_PIM_NHT_RP)
- zlog_debug("%s: NHT Register RP addr %pPA grp %pFX with Zebra", __func__,
- &rp_info->rp.rpf_addr, &rp_info->group);
+ zlog_debug("%s: NHT Register RP addr %pPA grp (%s:%u:%u)%pFX with Zebra", __func__,
+ &rp_info->rp.rpf_addr, PIM_DEBUG_VRF(pim->vrf), &rp_info->group);
pim_nht_find_or_track(pim, rp_info->rp.rpf_addr, NULL, rp_info, NULL);
if (!pim_nht_lookup_ecmp(pim, &rp_info->rp.source_nexthop, rp_info->rp.rpf_addr,
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 7aa84d1aa5..f5b895d75e 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -96,14 +96,9 @@ static int pim_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
p = c->address;
if (PIM_DEBUG_ZEBRA) {
- zlog_debug("%s: %s(%s) connected IP address %pFX flags %u %s",
- __func__, c->ifp->name,
- (pim_ifp ? VRF_LOGNAME(pim_ifp->pim->vrf)
- : "Unknown"),
- p, c->flags,
- CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY)
- ? "secondary"
- : "primary");
+ zlog_debug("%s: %s connected IP address (%s:%u:%u)%pFX flags %u %s", __func__,
+ c->ifp->name, PIM_DEBUG_VRF(c->ifp->vrf), p, c->flags,
+ CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY) ? "secondary" : "primary");
#ifdef PIM_DEBUG_IFADDR_DUMP
dump_if_address(c->ifp);
@@ -120,9 +115,8 @@ static int pim_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
if (pim_addr_cmp(primary_addr, addr)) {
if (PIM_DEBUG_ZEBRA)
- zlog_warn(
- "%s: %s : forcing secondary flag on %pFX",
- __func__, c->ifp->name, p);
+ zlog_warn("%s: %s : forcing secondary flag on (%s:%u:%u)%pFX",
+ __func__, c->ifp->name, PIM_DEBUG_VRF(c->ifp->vrf), p);
SET_FLAG(c->flags, ZEBRA_IFA_SECONDARY);
}
}
@@ -186,12 +180,9 @@ static int pim_zebra_if_address_del(ZAPI_CALLBACK_ARGS)
p = c->address;
if (PIM_DEBUG_ZEBRA) {
- zlog_debug(
- "%s: %s(%s) disconnected IP address %pFX flags %u %s",
- __func__, c->ifp->name, VRF_LOGNAME(vrf), p, c->flags,
- CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY)
- ? "secondary"
- : "primary");
+ zlog_debug("%s: %s disconnected IP address (%s:%u:%u)%pFX flags %u %s", __func__,
+ c->ifp->name, PIM_DEBUG_VRF(c->ifp->vrf), p, c->flags,
+ CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY) ? "secondary" : "primary");
#ifdef PIM_DEBUG_IFADDR_DUMP
dump_if_address(c->ifp);
#endif