mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 21:23:06 +00:00
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:
parent
9ec6b0bb0e
commit
a815b7881e
@ -183,6 +183,14 @@ if_lookup_by_index_per_ns (struct zebra_ns *ns, u_int32_t ifindex)
|
|||||||
return ifp;
|
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. */
|
/* Tie an interface address to its derived subnet list of addresses. */
|
||||||
int
|
int
|
||||||
|
@ -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_lookup_by_index_per_ns (struct zebra_ns *, u_int32_t);
|
||||||
extern struct interface *if_link_per_ns (struct zebra_ns *, struct interface *);
|
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_unlink_per_ns (struct interface *);
|
||||||
extern void if_nbr_ipv6ll_to_ipv4ll_neigh_update (struct interface *ifp,
|
extern void if_nbr_ipv6ll_to_ipv4ll_neigh_update (struct interface *ifp,
|
||||||
struct in6_addr *address, int add);
|
struct in6_addr *address, int add);
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#include "zebra/redistribute.h"
|
#include "zebra/redistribute.h"
|
||||||
#include "zebra/debug.h"
|
#include "zebra/debug.h"
|
||||||
#include "zebra/zebra_rnh.h"
|
#include "zebra/zebra_rnh.h"
|
||||||
|
#include "zebra/interface.h"
|
||||||
|
|
||||||
/* Default rtm_table for all clients */
|
/* Default rtm_table for all clients */
|
||||||
extern struct zebra_t zebrad;
|
extern struct zebra_t zebrad;
|
||||||
@ -946,18 +947,18 @@ print_nh (struct nexthop *nexthop, struct vty *vty)
|
|||||||
case NEXTHOP_TYPE_IPV4_IFINDEX:
|
case NEXTHOP_TYPE_IPV4_IFINDEX:
|
||||||
vty_out (vty, " via %s", inet_ntoa (nexthop->gate.ipv4));
|
vty_out (vty, " via %s", inet_ntoa (nexthop->gate.ipv4));
|
||||||
if (nexthop->ifindex)
|
if (nexthop->ifindex)
|
||||||
vty_out (vty, ", %s", ifindex2ifname (nexthop->ifindex));
|
vty_out (vty, ", %s", ifindex2ifname_per_ns (dzns, nexthop->ifindex));
|
||||||
break;
|
break;
|
||||||
case NEXTHOP_TYPE_IPV6:
|
case NEXTHOP_TYPE_IPV6:
|
||||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||||
vty_out (vty, " %s",
|
vty_out (vty, " %s",
|
||||||
inet_ntop (AF_INET6, &nexthop->gate.ipv6, buf, BUFSIZ));
|
inet_ntop (AF_INET6, &nexthop->gate.ipv6, buf, BUFSIZ));
|
||||||
if (nexthop->ifindex)
|
if (nexthop->ifindex)
|
||||||
vty_out (vty, ", via %s", ifindex2ifname (nexthop->ifindex));
|
vty_out (vty, ", via %s", ifindex2ifname_per_ns (dzns, nexthop->ifindex));
|
||||||
break;
|
break;
|
||||||
case NEXTHOP_TYPE_IFINDEX:
|
case NEXTHOP_TYPE_IFINDEX:
|
||||||
vty_out (vty, " is directly connected, %s",
|
vty_out (vty, " is directly connected, %s",
|
||||||
ifindex2ifname (nexthop->ifindex));
|
ifindex2ifname_per_ns (dzns, nexthop->ifindex));
|
||||||
break;
|
break;
|
||||||
case NEXTHOP_TYPE_BLACKHOLE:
|
case NEXTHOP_TYPE_BLACKHOLE:
|
||||||
vty_out (vty, " is directly connected, Null0");
|
vty_out (vty, " is directly connected, Null0");
|
||||||
|
Loading…
Reference in New Issue
Block a user