Zebra: Zebra: Display interface info for NHT in a VRF

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>

Ticket: CM-9458
Reviewed By: CCR-4150
Testing Done: Manual
This commit is contained in:
vivek 2016-02-23 04:17:09 +00:00
parent 9ec6b0bb0e
commit a815b7881e
3 changed files with 14 additions and 3 deletions

View File

@ -183,6 +183,14 @@ if_lookup_by_index_per_ns (struct zebra_ns *ns, u_int32_t ifindex)
return ifp;
}
const char *
ifindex2ifname_per_ns (struct zebra_ns *zns, unsigned int ifindex)
{
struct interface *ifp;
return ((ifp = if_lookup_by_index_per_ns (zns, ifindex)) != NULL) ?
ifp->name : "unknown";
}
/* Tie an interface address to its derived subnet list of addresses. */
int

View File

@ -210,6 +210,8 @@ struct zebra_if
extern struct interface *if_lookup_by_index_per_ns (struct zebra_ns *, u_int32_t);
extern struct interface *if_link_per_ns (struct zebra_ns *, struct interface *);
extern const char *ifindex2ifname_per_ns (struct zebra_ns *, unsigned int);
extern void if_unlink_per_ns (struct interface *);
extern void if_nbr_ipv6ll_to_ipv4ll_neigh_update (struct interface *ifp,
struct in6_addr *address, int add);

View File

@ -44,6 +44,7 @@
#include "zebra/redistribute.h"
#include "zebra/debug.h"
#include "zebra/zebra_rnh.h"
#include "zebra/interface.h"
/* Default rtm_table for all clients */
extern struct zebra_t zebrad;
@ -946,18 +947,18 @@ print_nh (struct nexthop *nexthop, struct vty *vty)
case NEXTHOP_TYPE_IPV4_IFINDEX:
vty_out (vty, " via %s", inet_ntoa (nexthop->gate.ipv4));
if (nexthop->ifindex)
vty_out (vty, ", %s", ifindex2ifname (nexthop->ifindex));
vty_out (vty, ", %s", ifindex2ifname_per_ns (dzns, nexthop->ifindex));
break;
case NEXTHOP_TYPE_IPV6:
case NEXTHOP_TYPE_IPV6_IFINDEX:
vty_out (vty, " %s",
inet_ntop (AF_INET6, &nexthop->gate.ipv6, buf, BUFSIZ));
if (nexthop->ifindex)
vty_out (vty, ", via %s", ifindex2ifname (nexthop->ifindex));
vty_out (vty, ", via %s", ifindex2ifname_per_ns (dzns, nexthop->ifindex));
break;
case NEXTHOP_TYPE_IFINDEX:
vty_out (vty, " is directly connected, %s",
ifindex2ifname (nexthop->ifindex));
ifindex2ifname_per_ns (dzns, nexthop->ifindex));
break;
case NEXTHOP_TYPE_BLACKHOLE:
vty_out (vty, " is directly connected, Null0");