struct zebra_vrf *zvrf = NULL;
struct vrf *vrf;
struct route_entry *proto_re_changed = NULL;
-
vrf_id_t vrf_id = VRF_UNKNOWN;
+ safi_t safi = SAFI_UNICAST;
+
+ if (IS_ZEBRA_DEBUG_RIB || IS_ZEBRA_DEBUG_RIB_DETAILED) {
+ struct rib_table_info *info = srcdest_rnode_table_info(rn);
+
+ assert(info);
+ safi = info->safi;
+ }
assert(rn);
if (IS_ZEBRA_DEBUG_RIB_DETAILED) {
struct route_entry *re = re_list_first(&dest->routes);
- zlog_debug("%s(%u:%u):%pRN: Processing rn %p",
- VRF_LOGNAME(vrf), vrf_id, re->table, rn,
- rn);
+ zlog_debug("%s(%u:%u:%u):%pRN: Processing rn %p", VRF_LOGNAME(vrf), vrf_id,
+ re->table, safi, rn, rn);
}
old_fib = dest->selected_fib;
char flags_buf[128];
char status_buf[128];
- zlog_debug(
- "%s(%u:%u):%pRN: Examine re %p (%s) status: %sflags: %sdist %d metric %d",
- VRF_LOGNAME(vrf), vrf_id, re->table, rn, re,
- zebra_route_string(re->type),
- _dump_re_status(re, status_buf,
- sizeof(status_buf)),
- zclient_dump_route_flags(re->flags, flags_buf,
- sizeof(flags_buf)),
- re->distance, re->metric);
+ zlog_debug("%s(%u:%u:%u):%pRN: Examine re %p (%s) status: %sflags: %sdist %d metric %d",
+ VRF_LOGNAME(vrf), vrf_id, re->table, safi, rn, re,
+ zebra_route_string(re->type),
+ _dump_re_status(re, status_buf, sizeof(status_buf)),
+ zclient_dump_route_flags(re->flags, flags_buf, sizeof(flags_buf)),
+ re->distance, re->metric);
}
/* Currently selected re. */
: old_fib ? old_fib
: new_fib ? new_fib : NULL;
- zlog_debug(
- "%s(%u:%u):%pRN: After processing: old_selected %p new_selected %p old_fib %p new_fib %p",
- VRF_LOGNAME(vrf), vrf_id, entry ? entry->table : 0, rn,
- (void *)old_selected, (void *)new_selected,
- (void *)old_fib, (void *)new_fib);
+ zlog_debug("%s(%u:%u:%u):%pRN: After processing: old_selected %p new_selected %p old_fib %p new_fib %p",
+ VRF_LOGNAME(vrf), vrf_id, entry ? entry->table : 0, safi, rn,
+ (void *)old_selected, (void *)new_selected, (void *)old_fib,
+ (void *)new_fib);
}
/* Buffer ROUTE_ENTRY_CHANGED here, because it will get cleared if