Mailing List Archive

[PATCH 46/57] bgpd: mpath debug displays l2vpn prefix
The introduction of L2VPN prefix in EVPN makes that the inner IP prefix
must be retrieved to display correct information.

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

diff --git a/bgpd/bgp_mpath.c b/bgpd/bgp_mpath.c
index b47cdad95909..f9ecefd08d85 100644
--- a/bgpd/bgp_mpath.c
+++ b/bgpd/bgp_mpath.c
@@ -441,10 +441,22 @@ bgp_info_mpath_sprint_nh(afi_t afi, struct bgp_node *rn, struct bgp_info *mpath,
{
if(mpath->attr && mpath->attr->extra)
{
+ if ( afi == AFI_INTERNAL_L2VPN)
+ {
+ struct prefix *p = &rn->p;
+ if (p->family == AF_INET)
+ strcpy (nh_str, inet_ntoa (mpath->attr->extra->mp_nexthop_global_in));
+ else if (p->family == AF_INET6)
+ inet_ntop (AF_INET6, &mpath->attr->extra->mp_nexthop_global, nh_str, BUFSIZ);
+ else if (rn->p.family == AF_L2VPN)
+ strcpy (nh_str, inet_ntoa (mpath->attr->extra->mp_nexthop_global_in));
+ }
if (afi == AFI_IP)
strcpy (nh_str, inet_ntoa (mpath->attr->extra->mp_nexthop_global_in));
else if (afi == AFI_IP6)
inet_ntop (AF_INET6, &mpath->attr->extra->mp_nexthop_global, nh_str, BUFSIZ);
+ else if (rn->p.family == AF_L2VPN)
+ strcpy (nh_str, inet_ntoa (mpath->attr->extra->mp_nexthop_global_in));
}
else if(mpath->attr)
{
@@ -474,7 +486,7 @@ bgp_info_mpath_update (struct bgp_node *rn, struct bgp_info *new_best,
struct listnode *mp_node, *mp_next_node;
struct bgp_info *cur_mpath, *new_mpath, *next_mpath, *prev_mpath;
int mpath_changed, debug;
- char pfx_buf[INET6_ADDRSTRLEN], nh_buf[2][INET6_ADDRSTRLEN];
+ char pfx_buf[PREFIX_STRLEN], nh_buf[2][INET_ADDRSTRLEN];
struct bgp_maxpaths_cfg *mpath_cfg = NULL;
struct prefix_rd *prd = NULL;
struct bgp_vrf *vrf = NULL;
--
2.1.4


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