From: Anuradha Karuppiah Date: Mon, 14 Jan 2019 23:56:30 +0000 (-0800) Subject: zebra: display metric for connected routes X-Git-Tag: 7.1_pulled~307^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F3614%2Fhead;p=mirror%2Ffrr.git zebra: display metric for connected routes In a VRR/VRRP setup we can have connected routes with different costs. So this change eliminates suppressing metric display for connected routes. Sample output - root@TORC11:~# vtysh -c "show ipv6 route vrf vrf1" Codes: K - kernel route, C - connected, S - static, R - RIPng, O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR, > - selected route, * - FIB route VRF vrf1: K * ::/0 [255/8192] unreachable (ICMP unreachable), 00:00:36 C * 2001:aa:1::/64 [0/100] is directly connected, vlan1002-v0, 00:00:36 C>* 2001:aa:1::/64 [0/90] is directly connected, vlan1002, 00:00:36 Signed-off-by: Anuradha Karuppiah --- diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index 87b279b1e9..902c726511 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -389,11 +389,9 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn, if (CHECK_FLAG(re->flags, ZEBRA_FLAG_SELECTED)) json_object_boolean_true_add(json_route, "selected"); - if (re->type != ZEBRA_ROUTE_CONNECT) { - json_object_int_add(json_route, "distance", - re->distance); - json_object_int_add(json_route, "metric", re->metric); - } + json_object_int_add(json_route, "distance", + re->distance); + json_object_int_add(json_route, "metric", re->metric); if (re->tag) json_object_int_add(json_route, "tag", re->tag); @@ -602,7 +600,9 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn, srcdest_rnode2str(rn, buf, sizeof buf)); /* Distance and metric display. */ - if (re->type != ZEBRA_ROUTE_CONNECT) + if (((re->type == ZEBRA_ROUTE_CONNECT) && + (re->distance || re->metric)) || + (re->type != ZEBRA_ROUTE_CONNECT)) len += vty_out(vty, " [%u/%u]", re->distance, re->metric); } else {