]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: MAC Mobility extended community string conversion
authorvivek <vivek@cumulusnetworks.com>
Mon, 15 May 2017 21:50:21 +0000 (14:50 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 12 Jul 2017 18:37:16 +0000 (14:37 -0400)
Updates: d5b9da8a79cbf2acf287bda2600e86a5a3243c64
Updates: 749513cc9d7bf571b3049931057d544b4111c39d

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
bgpd/bgp_ecommunity.c

index bb2ef260eea07cbab3ce1e836153f3a40c4de723..93492143482ef25167a2898e4f8346ed2baade49 100644 (file)
@@ -794,6 +794,18 @@ ecommunity_ecom2str (struct ecommunity *ecom, int format, int filter)
                             macaddr[0], macaddr[1], macaddr[2],
                             macaddr[3], macaddr[4], macaddr[5]);
             }
+          else if (*pnt == ECOMMUNITY_EVPN_SUBTYPE_MACMOBILITY)
+            {
+              u_int32_t seqnum;
+              u_char flags = *++pnt;
+
+              memcpy (&seqnum, pnt + 2, 4);
+              seqnum = ntohl(seqnum);
+              if (flags & ECOMMUNITY_EVPN_SUBTYPE_MACMOBILITY_FLAG_STICKY)
+                len = sprintf (str_buf + str_pnt, "MM:%u, sticky MAC", seqnum);
+              else
+                len = sprintf (str_buf + str_pnt, "MM:%u", seqnum);
+            }
           else
             unk_ecom = 1;
         }