]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd rfapi: fix UN address in show with MPLS TT 136/head
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:18:42 +0000 (21:18 -0500)
Signed-off-by: Lou Berger <lberger@labn.net>
bgpd/rfapi/rfapi_vty.c

index 1118cfd76f304b3fc90f1cd57dbebafd034d1ea0..0a5ee9428d6af46def292f48544c639a2ffccb3c 100644 (file)
@@ -1174,16 +1174,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);
@@ -1196,13 +1198,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