Mailing List Archive

[PATCH 45/57] bgpd: display of l2vpn route prefix in vty
From: Julien Courtat <julien.courtat@6wind.com>

L2VPN route prefix are composed of ethtag, mac address and ip address.
vty command "show bgp l2vpn rd <>" show macip prefix in the following
template: [ethtag][macaddress/len][ipaddress/len]

Signed-off-by: Julien Courtat <julien.courtat@6wind.com>
---
bgpd/bgp_route.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 467c83c72750..65533cbffa25 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -6880,6 +6880,11 @@ route_vty_out_route (struct prefix *p, struct vty *vty)
else
len += vty_out (vty, "/%d", p->prefixlen);
}
+ else if (p->family == AF_L2VPN)
+ {
+ prefix2str(p, buf, PREFIX_STRLEN);
+ len = vty_out (vty, "%s", buf);
+ }
else
len = vty_out (vty, "%s/%d", inet_ntop (p->family, &p->u.prefix, buf, BUFSIZ),
p->prefixlen);
@@ -6995,6 +7000,9 @@ route_vty_out(
else if (p->family == AF_INET6)
vty_out (vty, "%s", inet_ntop(AF_INET6,
&(attr->extra->evpn_overlay.gw_ip.ipv6), buf, BUFSIZ));
+ else if (p->family == AF_L2VPN)
+ vty_out (vty, "%s", inet_ntop(AF_INET,
+ &(attr->nexthop), buf, BUFSIZ));
} else {
vty_out(vty, "?");
}
@@ -7070,6 +7078,7 @@ route_vty_out_tmp (struct vty *vty, struct prefix *p,
if (p->family == AF_INET)
{
if ((safi == SAFI_MPLS_VPN) || (safi == SAFI_ENCAP))
+ if ((safi == SAFI_MPLS_VPN) || (safi == SAFI_ENCAP) || (safi == SAFI_INTERNAL_EVPN))
vty_out (vty, "%-16s",
inet_ntoa (attr->extra->mp_nexthop_global_in));
else
@@ -7878,10 +7887,14 @@ route_vty_out_detail_header (struct vty *vty, struct bgp *bgp,
int printrd = ((safi == SAFI_MPLS_VPN) || (safi == SAFI_ENCAP));

p = &rn->p;
+ if (p->family == AF_L2VPN)
+ prefix2str(p, buf2, INET6_ADDRSTRLEN);
+ else
+ inet_ntop (p->family, &p->u.prefix, buf2, INET6_ADDRSTRLEN);
vty_out (vty, "BGP routing table entry for %s%s%s/%d%s",
(printrd ? prefix_rd2str (prd, buf1, RD_ADDRSTRLEN) : ""),
printrd ? ":" : "",
- inet_ntop (p->family, &p->u.prefix, buf2, INET6_ADDRSTRLEN),
+ buf2,
p->prefixlen, VTY_NEWLINE);

for (ri = rn->info; ri; ri = ri->next)
--
2.1.4


_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev