summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvivek <vivek@cumulusnetworks.com>2017-05-15 14:50:21 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-12 14:37:16 -0400
commit11e2785d09f06a68fa169e374bc53f9772087a27 (patch)
tree1dd3abac82e1a345f09f10adf2a1bd4bc1405a70
parentc85c03c7f90bfc6110c4621bfb096690c70b8bec (diff)
bgpd: MAC Mobility extended community string conversion
Updates: d5b9da8a79cbf2acf287bda2600e86a5a3243c64 Updates: 749513cc9d7bf571b3049931057d544b4111c39d Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
-rw-r--r--bgpd/bgp_ecommunity.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/bgpd/bgp_ecommunity.c b/bgpd/bgp_ecommunity.c
index bb2ef260ee..9349214348 100644
--- a/bgpd/bgp_ecommunity.c
+++ b/bgpd/bgp_ecommunity.c
@@ -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;
}