]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd rfapi: fix UN address in show with MPLS TT
authorLou Berger <lberger@labn.net>
Sun, 29 Jan 2017 13:15:23 +0000 (08:15 -0500)
committerLou Berger <lberger@labn.net>
Tue, 31 Jan 2017 02:14:49 +0000 (21:14 -0500)
Signed-off-by: Lou Berger <lberger@labn.net>
bgpd/rfapi/rfapi_vty.c

index f7c3773fd472ed7152e513ad6fce327fa46c3b63..f6aa353df3f40861063dc73f33d042cd7797541a 100644 (file)
@@ -1175,16 +1175,18 @@ rfapiPrintRemoteRegBi (
                 inet_ntop (pfx_un.family, &pfx_un.u.prefix, buf_ntop,
                            BUFSIZ));
     }
-  buf_un[BUFSIZ - 1] = 0;
 
   rfapiGetTunnelType(bi->attr,&tun_type);
   /*
    * VN addr
    */
   buf_vn[0] = 0;
+  rfapiNexthop2Prefix (bi->attr, &pfx_vn);
   if (tun_type == BGP_ENCAP_TYPE_MPLS)
     {
       /* MPLS carries un in nrli next hop (same as vn for IP tunnels) */
+      snprintf (buf_un, BUFSIZ, "%s",
+                inet_ntop (pfx_vn.family, &pfx_vn.u.prefix, buf_ntop, BUFSIZ));
       if (bi->extra)
         {
           u_int32_t l = decode_label (bi->extra->tag);
@@ -1197,13 +1199,12 @@ rfapiPrintRemoteRegBi (
     }
   else
     {
-      rfapiNexthop2Prefix (bi->attr, &pfx_vn);
       snprintf (buf_vn, BUFSIZ, "%s",
                 inet_ntop (pfx_vn.family, &pfx_vn.u.prefix, buf_ntop, BUFSIZ));
     }
   buf_vn[BUFSIZ - 1] = 0;
+  buf_un[BUFSIZ - 1] = 0;
 
-  
   /*
    * Cost is encoded in local_pref as (255-cost)
    * See rfapi_import.c'rfapiRouteInfo2NextHopEntry() for conversion