For some reasons the Linux kernel associates the ipv6 blackhole of non
default table the lo interface.
> root@r1# ip -6 route show table 100
> root@r1# ip -6 route add unreachable default metric
4278198272 table 100
> root@r1# ip -6 route show table 100
> unreachable default dev lo metric
4278198272 pref medium
As a consequence, the VRF default that owns the lo interface is shown as
the nexthop VRF:
> r1# show ipv6 route table 20
> Table 20:
> K>* ::/0 [255/8192] unreachable (ICMP unreachable) (vrf default), 00:18:12
Do not display the nexthop VRF of a blackhole. It does not make sense
for a blackhole and it was not displayed in the past.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
bool display_vrfid = false;
uint8_t rn_family;
- if (re == NULL || nexthop->vrf_id != re->vrf_id)
+ if ((re == NULL || nexthop->vrf_id != re->vrf_id) && nexthop->type != NEXTHOP_TYPE_BLACKHOLE)
display_vrfid = true;
if (rn)
bool display_vrfid = false;
uint8_t rn_family;
- if (re == NULL || nexthop->vrf_id != re->vrf_id)
+ if ((re == NULL || nexthop->vrf_id != re->vrf_id) && nexthop->type != NEXTHOP_TYPE_BLACKHOLE)
display_vrfid = true;
if (rn)
break;
}
- if (re->vrf_id != nexthop->vrf_id) {
+ if (re->vrf_id != nexthop->vrf_id && nexthop->type != NEXTHOP_TYPE_BLACKHOLE) {
struct vrf *vrf = vrf_lookup_by_id(nexthop->vrf_id);
vty_out(vty, "(vrf %s)", VRF_LOGNAME(vrf));