diff options
| author | vivek <vivek@cumulusnetworks.com> | 2017-05-15 14:50:21 -0700 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-12 14:37:16 -0400 |
| commit | 11e2785d09f06a68fa169e374bc53f9772087a27 (patch) | |
| tree | 1dd3abac82e1a345f09f10adf2a1bd4bc1405a70 | |
| parent | c85c03c7f90bfc6110c4621bfb096690c70b8bec (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.c | 12 |
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; } |
