Merge pull request #5809 from donaldsharp/vrf_name

Print out vrf name as well as id
This commit is contained in:
Donatas Abraitis 2020-02-19 14:23:32 +01:00 committed by GitHub
commit 0bdcc3e3ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 183 additions and 108 deletions

View File

@ -329,19 +329,22 @@ static int bgp_bfd_dest_update(ZAPI_CALLBACK_ARGS)
&remote_cbit, vrf_id);
if (BGP_DEBUG(zebra, ZEBRA)) {
struct vrf *vrf;
char buf[2][PREFIX2STR_BUFFER];
vrf = vrf_lookup_by_id(vrf_id);
prefix2str(&dp, buf[0], sizeof(buf[0]));
if (ifp) {
zlog_debug(
"Zebra: vrf %u interface %s bfd destination %s %s %s",
vrf_id, ifp->name, buf[0],
bfd_get_status_str(status),
"Zebra: vrf %s(%u) interface %s bfd destination %s %s %s",
VRF_LOGNAME(vrf), vrf_id, ifp->name,
buf[0], bfd_get_status_str(status),
remote_cbit ? "(cbit on)" : "");
} else {
prefix2str(&sp, buf[1], sizeof(buf[1]));
zlog_debug(
"Zebra: vrf %u source %s bfd destination %s %s %s",
vrf_id, buf[1], buf[0],
"Zebra: vrf %s(%u) source %s bfd destination %s %s %s",
VRF_LOGNAME(vrf), vrf_id, buf[1], buf[0],
bfd_get_status_str(status),
remote_cbit ? "(cbit on)" : "");
}

View File

@ -1403,11 +1403,16 @@ void bgp_pbr_print_policy_route(struct bgp_pbr_entry_main *api)
ptr += sprintf(ptr,
"@redirect ip nh %s", local_buff);
break;
case ACTION_REDIRECT:
case ACTION_REDIRECT: {
struct vrf *vrf;
vrf = vrf_lookup_by_id(api->actions[i].u.redirect_vrf);
INCREMENT_DISPLAY(ptr, nb_items);
ptr += sprintf(ptr, "@redirect vrf %u",
ptr += sprintf(ptr, "@redirect vrf %s(%u)",
VRF_LOGNAME(vrf),
api->actions[i].u.redirect_vrf);
break;
}
case ACTION_MARKING:
INCREMENT_DISPLAY(ptr, nb_items);
ptr += sprintf(ptr, "@set dscp %u",

View File

@ -8867,8 +8867,13 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
} else {
if (nexthop_vrfid == VRF_UNKNOWN)
vty_out(vty, " vrf ?");
else
vty_out(vty, " vrf %u", nexthop_vrfid);
else {
struct vrf *vrf;
vrf = vrf_lookup_by_id(nexthop_vrfid);
vty_out(vty, " vrf %s(%u)",
VRF_LOGNAME(vrf), nexthop_vrfid);
}
}
}

View File

@ -284,8 +284,11 @@ void bgp_router_id_zebra_bump(vrf_id_t vrf_id, const struct prefix *router_id)
*/
if (bgp->established_peers == 0) {
if (BGP_DEBUG(zebra, ZEBRA))
zlog_debug("RID change : vrf %u, RTR ID %s",
bgp->vrf_id, inet_ntoa(*addr));
zlog_debug(
"RID change : vrf %s(%u), RTR ID %s",
bgp->name_pretty,
bgp->vrf_id,
inet_ntoa(*addr));
bgp_router_id_set(bgp, addr, false);
}
}
@ -304,8 +307,11 @@ void bgp_router_id_zebra_bump(vrf_id_t vrf_id, const struct prefix *router_id)
*/
if (bgp->established_peers == 0) {
if (BGP_DEBUG(zebra, ZEBRA))
zlog_debug("RID change : vrf %u, RTR ID %s",
bgp->vrf_id, inet_ntoa(*addr));
zlog_debug(
"RID change : vrf %s(%u), RTR ID %s",
bgp->name_pretty,
bgp->vrf_id,
inet_ntoa(*addr));
bgp_router_id_set(bgp, addr, false);
}
}

View File

@ -745,12 +745,16 @@ static void if_dump(const struct interface *ifp)
struct listnode *node;
struct connected *c __attribute__((unused));
for (ALL_LIST_ELEMENTS_RO(ifp->connected, node, c))
for (ALL_LIST_ELEMENTS_RO(ifp->connected, node, c)) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_info(
"Interface %s vrf %u index %d metric %d mtu %d "
"Interface %s vrf %s(%u) index %d metric %d mtu %d "
"mtu6 %d %s",
ifp->name, ifp->vrf_id, ifp->ifindex, ifp->metric,
ifp->mtu, ifp->mtu6, if_flag_dump(ifp->flags));
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
ifp->metric, ifp->mtu, ifp->mtu6,
if_flag_dump(ifp->flags));
}
}
/* Interface printing for all interface. */
@ -811,27 +815,25 @@ DEFUN (show_address,
"address\n"
VRF_CMD_HELP_STR)
{
int idx_vrf = 3;
struct listnode *node;
struct interface *ifp;
struct connected *ifc;
struct prefix *p;
vrf_id_t vrf_id = VRF_DEFAULT;
int idx_vrf = 3;
struct listnode *node;
struct interface *ifp;
struct connected *ifc;
struct prefix *p;
vrf_id_t vrf_id = VRF_DEFAULT;
if (argc > 2)
VRF_GET_ID (vrf_id, argv[idx_vrf]->arg);
if (argc > 2)
VRF_GET_ID (vrf_id, argv[idx_vrf]->arg);
FOR_ALL_INTERFACES (vrf, ifp)
{
for (ALL_LIST_ELEMENTS_RO (ifp->connected, node, ifc))
{
p = ifc->address;
FOR_ALL_INTERFACES (vrf, ifp) {
for (ALL_LIST_ELEMENTS_RO (ifp->connected, node, ifc)) {
p = ifc->address;
if (p->family == AF_INET)
vty_out (vty, "%s/%d\n", inet_ntoa (p->u.prefix4), p->prefixlen);
if (p->family == AF_INET)
vty_out (vty, "%s/%d\n", inet_ntoa (p->u.prefix4), p->prefixlen);
}
}
}
return CMD_SUCCESS;
return CMD_SUCCESS;
}
DEFUN (show_address_vrf_all,
@ -841,31 +843,30 @@ DEFUN (show_address_vrf_all,
"address\n"
VRF_ALL_CMD_HELP_STR)
{
struct vrf *vrf;
struct listnode *node;
struct interface *ifp;
struct connected *ifc;
struct prefix *p;
struct vrf *vrf;
struct listnode *node;
struct interface *ifp;
struct connected *ifc;
struct prefix *p;
RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name)
{
if (RB_EMPTY (if_name_head, &vrf->ifaces_by_name))
continue;
RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name)
{
if (RB_EMPTY (if_name_head, &vrf->ifaces_by_name))
continue;
vty_out (vty, "\nVRF %u\n\n", vrf->vrf_id);
vty_out (vty, "\nVRF %s(%u)\n\n",
VRF_LOGNAME(vrf), vrf->vrf_id);
FOR_ALL_INTERFACES (vrf, ifp)
{
for (ALL_LIST_ELEMENTS_RO (ifp->connected, node, ifc))
{
p = ifc->address;
FOR_ALL_INTERFACES (vrf, ifp) {
for (ALL_LIST_ELEMENTS_RO (ifp->connected, node, ifc)) {
p = ifc->address;
if (p->family == AF_INET)
vty_out (vty, "%s/%d\n", inet_ntoa (p->u.prefix4), p->prefixlen);
}
}
}
return CMD_SUCCESS;
if (p->family == AF_INET)
vty_out (vty, "%s/%d\n", inet_ntoa (p->u.prefix4), p->prefixlen);
}
}
}
return CMD_SUCCESS;
}
#endif
@ -927,14 +928,16 @@ connected_log(struct connected *connected, char *str)
{
struct prefix *p;
struct interface *ifp;
struct vrf *vrf;
char logbuf[BUFSIZ];
char buf[BUFSIZ];
ifp = connected->ifp;
p = connected->address;
snprintf(logbuf, BUFSIZ, "%s interface %s vrf %u %s %s/%d ", str,
ifp->name, ifp->vrf_id, prefix_family_str(p),
vrf = vrf_lookup_by_id(ifp->vrf_id);
snprintf(logbuf, BUFSIZ, "%s interface %s vrf %s(%u) %s %s/%d ", str,
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, prefix_family_str(p),
inet_ntop(p->family, &p->u.prefix, buf, BUFSIZ), p->prefixlen);
p = connected->destination;

View File

@ -114,6 +114,8 @@ extern struct vrf *vrf_get(vrf_id_t, const char *);
extern const char *vrf_id_to_name(vrf_id_t vrf_id);
extern vrf_id_t vrf_name_to_id(const char *);
#define VRF_LOGNAME(V) V ? V->name : "Unknown"
#define VRF_GET_ID(V, NAME, USE_JSON) \
do { \
struct vrf *_vrf; \

View File

@ -351,11 +351,14 @@ static int rip_ifp_down(struct interface *ifp)
rip_interface_sync(ifp);
rip_if_down(ifp);
if (IS_RIP_DEBUG_ZEBRA)
if (IS_RIP_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_debug(
"interface %s vrf %u index %d flags %llx metric %d mtu %d is down",
ifp->name, ifp->vrf_id, ifp->ifindex,
"interface %s vrf %s(%u) index %d flags %llx metric %d mtu %d is down",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu);
}
return 0;
}
@ -363,11 +366,14 @@ static int rip_ifp_down(struct interface *ifp)
/* Inteface link up message processing */
static int rip_ifp_up(struct interface *ifp)
{
if (IS_RIP_DEBUG_ZEBRA)
if (IS_RIP_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_debug(
"interface %s vrf %u index %d flags %#llx metric %d mtu %d is up",
ifp->name, ifp->vrf_id, ifp->ifindex,
"interface %s vrf %s(%u) index %d flags %#llx metric %d mtu %d is up",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu);
}
rip_interface_sync(ifp);
@ -388,11 +394,13 @@ static int rip_ifp_create(struct interface *ifp)
{
rip_interface_sync(ifp);
if (IS_RIP_DEBUG_ZEBRA)
if (IS_RIP_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_debug(
"interface add %s vrf %u index %d flags %#llx metric %d mtu %d",
ifp->name, ifp->vrf_id, ifp->ifindex,
"interface add %s vrf %s(%u) index %d flags %#llx metric %d mtu %d",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu);
}
/* Check if this interface is RIP enabled or not.*/
rip_enable_apply(ifp);
@ -413,14 +421,16 @@ static int rip_ifp_create(struct interface *ifp)
static int rip_ifp_destroy(struct interface *ifp)
{
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
rip_interface_sync(ifp);
if (if_is_up(ifp)) {
rip_if_down(ifp);
}
zlog_info(
"interface delete %s vrf %u index %d flags %#llx metric %d mtu %d",
ifp->name, ifp->vrf_id, ifp->ifindex,
"interface delete %s vrf %s(%u) index %d flags %#llx metric %d mtu %d",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu);
return 0;
@ -437,9 +447,14 @@ int rip_interface_vrf_update(ZAPI_CALLBACK_ARGS)
if (!ifp)
return 0;
if (IS_RIP_DEBUG_ZEBRA)
zlog_debug("interface %s VRF change vrf_id %u new vrf id %u",
ifp->name, vrf_id, new_vrf_id);
if (IS_RIP_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(vrf_id);
struct vrf *nvrf = vrf_lookup_by_id(new_vrf_id);
zlog_debug("interface %s VRF change vrf %s(%u) new vrf %s(%u)",
ifp->name, VRF_LOGNAME(vrf), vrf_id,
VRF_LOGNAME(nvrf), new_vrf_id);
}
if_update_to_new_vrf(ifp, new_vrf_id);
rip_interface_sync(ifp);

View File

@ -198,11 +198,14 @@ static int ripng_if_down(struct interface *ifp)
/* Inteface link up message processing. */
static int ripng_ifp_up(struct interface *ifp)
{
if (IS_RIPNG_DEBUG_ZEBRA)
if (IS_RIPNG_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_debug(
"interface up %s vrf %u index %d flags %llx metric %d mtu %d",
ifp->name, ifp->vrf_id, ifp->ifindex,
"interface up %s vrf %s(%u) index %d flags %llx metric %d mtu %d",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);
}
ripng_interface_sync(ifp);
@ -224,11 +227,14 @@ static int ripng_ifp_down(struct interface *ifp)
ripng_interface_sync(ifp);
ripng_if_down(ifp);
if (IS_RIPNG_DEBUG_ZEBRA)
if (IS_RIPNG_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_debug(
"interface down %s vrf %u index %d flags %#llx metric %d mtu %d",
ifp->name, ifp->vrf_id, ifp->ifindex,
"interface down %s vrf %s(%u) index %d flags %#llx metric %d mtu %d",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);
}
return 0;
}
@ -238,11 +244,14 @@ static int ripng_ifp_create(struct interface *ifp)
{
ripng_interface_sync(ifp);
if (IS_RIPNG_DEBUG_ZEBRA)
if (IS_RIPNG_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_debug(
"RIPng interface add %s vrf %u index %d flags %#llx metric %d mtu %d",
ifp->name, ifp->vrf_id, ifp->ifindex,
"RIPng interface add %s vrf %s(%u) index %d flags %#llx metric %d mtu %d",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);
}
/* Check is this interface is RIP enabled or not.*/
ripng_enable_apply(ifp);
@ -258,14 +267,16 @@ static int ripng_ifp_create(struct interface *ifp)
static int ripng_ifp_destroy(struct interface *ifp)
{
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
ripng_interface_sync(ifp);
if (if_is_up(ifp)) {
ripng_if_down(ifp);
}
zlog_info(
"interface delete %s vrf %u index %d flags %#llx metric %d mtu %d",
ifp->name, ifp->vrf_id, ifp->ifindex,
"interface delete %s vrf %s(%u) index %d flags %#llx metric %d mtu %d",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex,
(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);
return 0;
@ -282,9 +293,14 @@ int ripng_interface_vrf_update(ZAPI_CALLBACK_ARGS)
if (!ifp)
return 0;
if (IS_RIPNG_DEBUG_ZEBRA)
zlog_debug("interface %s VRF change vrf_id %u new vrf id %u",
ifp->name, vrf_id, new_vrf_id);
if (IS_RIPNG_DEBUG_ZEBRA) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
struct vrf *nvrf = vrf_lookup_by_id(new_vrf_id);
zlog_debug("interface %s VRF change vrf %s(%u) new vrf %s(%u)",
ifp->name, VRF_LOGNAME(vrf), vrf_id,
VRF_LOGNAME(nvrf), new_vrf_id);
}
if_update_to_new_vrf(ifp, new_vrf_id);
ripng_interface_sync(ifp);

View File

@ -617,11 +617,14 @@ void if_add_update(struct interface *ifp)
SET_FLAG(ifp->status, ZEBRA_INTERFACE_ACTIVE);
if (if_data->shutdown == IF_ZEBRA_SHUTDOWN_ON) {
if (IS_ZEBRA_DEBUG_KERNEL)
if (IS_ZEBRA_DEBUG_KERNEL) {
zlog_debug(
"interface %s vrf %u index %d is shutdown. "
"interface %s vrf %s(%u) index %d is shutdown. "
"Won't wake it up.",
ifp->name, ifp->vrf_id, ifp->ifindex);
ifp->name, VRF_LOGNAME(zvrf->vrf),
ifp->vrf_id, ifp->ifindex);
}
return;
}
@ -629,13 +632,15 @@ void if_add_update(struct interface *ifp)
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug(
"interface %s vrf %u index %d becomes active.",
ifp->name, ifp->vrf_id, ifp->ifindex);
"interface %s vrf %s(%u) index %d becomes active.",
ifp->name, VRF_LOGNAME(zvrf->vrf), ifp->vrf_id,
ifp->ifindex);
} else {
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug("interface %s vrf %u index %d is added.",
ifp->name, ifp->vrf_id, ifp->ifindex);
zlog_debug("interface %s vrf %s(%u) index %d is added.",
ifp->name, VRF_LOGNAME(zvrf->vrf),
ifp->vrf_id, ifp->ifindex);
}
}
@ -774,10 +779,12 @@ void if_delete_update(struct interface *ifp)
struct zebra_if *zif;
if (if_is_up(ifp)) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
flog_err(
EC_LIB_INTERFACE,
"interface %s vrf %u index %d is still up while being deleted.",
ifp->name, ifp->vrf_id, ifp->ifindex);
"interface %s vrf %s(%u) index %d is still up while being deleted.",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id, ifp->ifindex);
return;
}
@ -787,9 +794,13 @@ void if_delete_update(struct interface *ifp)
/* Mark interface as inactive */
UNSET_FLAG(ifp->status, ZEBRA_INTERFACE_ACTIVE);
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug("interface %s vrf %u index %d is now inactive.",
ifp->name, ifp->vrf_id, ifp->ifindex);
if (IS_ZEBRA_DEBUG_KERNEL) {
struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id);
zlog_debug("interface %s vrf %s(%u) index %d is now inactive.",
ifp->name, VRF_LOGNAME(vrf), ifp->vrf_id,
ifp->ifindex);
}
/* Delete connected routes from the kernel. */
if_delete_connected(ifp);
@ -1863,7 +1874,8 @@ DEFUN (show_interface_desc_vrf_all,
RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name)
if (!RB_EMPTY(if_name_head, &vrf->ifaces_by_name)) {
vty_out(vty, "\n\tVRF %u\n\n", vrf->vrf_id);
vty_out(vty, "\n\tVRF %s(%u)\n\n", VRF_LOGNAME(vrf),
vrf->vrf_id);
if_show_description(vty, vrf->vrf_id);
}

View File

@ -339,9 +339,10 @@ void zebra_redistribute_add(ZAPI_HANDLER_ARGS)
if (IS_ZEBRA_DEBUG_EVENT)
zlog_debug(
"%s: client proto %s afi=%d, wants %s, vrf %u, instance=%d",
"%s: client proto %s afi=%d, wants %s, vrf %s(%u), instance=%d",
__func__, zebra_route_string(client->proto), afi,
zebra_route_string(type), zvrf_id(zvrf), instance);
zebra_route_string(type), VRF_LOGNAME(zvrf->vrf),
zvrf_id(zvrf), instance);
if (afi == 0 || afi >= AFI_MAX) {
flog_warn(EC_ZEBRA_REDISTRIBUTE_UNKNOWN_AF,
@ -368,8 +369,10 @@ void zebra_redistribute_add(ZAPI_HANDLER_ARGS)
if (!vrf_bitmap_check(client->redist[afi][type],
zvrf_id(zvrf))) {
if (IS_ZEBRA_DEBUG_EVENT)
zlog_debug("%s: setting vrf %u redist bitmap",
__func__, zvrf_id(zvrf));
zlog_debug(
"%s: setting vrf %s(%u) redist bitmap",
__func__, VRF_LOGNAME(zvrf->vrf),
zvrf_id(zvrf));
vrf_bitmap_set(client->redist[afi][type],
zvrf_id(zvrf));
zebra_redistribute(client, type, 0, zvrf_id(zvrf), afi);

View File

@ -1948,6 +1948,7 @@ static void zread_table_manager_connect(struct zserv *client,
struct stream *s;
uint8_t proto;
uint16_t instance;
struct vrf *vrf = vrf_lookup_by_id(vrf_id);
s = msg;
@ -1963,8 +1964,9 @@ static void zread_table_manager_connect(struct zserv *client,
zsend_table_manager_connect_response(client, vrf_id, 1);
return;
}
zlog_notice("client %d with vrf %u instance %u connected as %s",
client->sock, vrf_id, instance, zebra_route_string(proto));
zlog_notice("client %d with vrf %s(%u) instance %u connected as %s",
client->sock, VRF_LOGNAME(vrf), vrf_id, instance,
zebra_route_string(proto));
client->proto = proto;
client->instance = instance;

View File

@ -441,15 +441,17 @@ static void if_bfd_session_update(struct interface *ifp, struct prefix *dp,
dp->prefixlen, ifp->name,
bfd_get_status_str(status));
} else {
struct vrf *vrf = vrf_lookup_by_id(vrf_id);
zlog_debug(
"MESSAGE: ZEBRA_INTERFACE_BFD_DEST_UPDATE %s/%d "
"with src %s/%d and vrf %u %s event",
"with src %s/%d and vrf %s(%u) %s event",
inet_ntop(dp->family, &dp->u.prefix, buf[0],
INET6_ADDRSTRLEN),
dp->prefixlen,
inet_ntop(sp->family, &sp->u.prefix, buf[1],
INET6_ADDRSTRLEN),
sp->prefixlen, vrf_id,
sp->prefixlen, VRF_LOGNAME(vrf), vrf_id,
bfd_get_status_str(status));
}
}

View File

@ -2408,13 +2408,14 @@ void _route_entry_dump(const char *func, union prefixconstptr pp,
char srcaddr[PREFIX_STRLEN];
char nhname[PREFIX_STRLEN];
struct nexthop *nexthop;
struct vrf *vrf = vrf_lookup_by_id(re->vrf_id);
zlog_debug("%s: dumping RE entry %p for %s%s%s vrf %u", func,
zlog_debug("%s: dumping RE entry %p for %s%s%s vrf %s(%u)", func,
(const void *)re, prefix2str(pp, straddr, sizeof(straddr)),
is_srcdst ? " from " : "",
is_srcdst ? prefix2str(src_pp, srcaddr, sizeof(srcaddr))
: "",
re->vrf_id);
VRF_LOGNAME(vrf), re->vrf_id);
zlog_debug("%s: uptime == %lu, type == %u, instance == %d, table == %d",
straddr, (unsigned long)re->uptime, re->type, re->instance,
re->table);