diff --git a/bgpd/bgp_attr_evpn.c b/bgpd/bgp_attr_evpn.c index f60784e708..93b3c9390b 100644 --- a/bgpd/bgp_attr_evpn.c +++ b/bgpd/bgp_attr_evpn.c @@ -34,7 +34,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA #include "bgpd/bgp_ecommunity.h" #include "bgpd/bgp_evpn.h" -void bgp_add_routermac_ecom(struct attr *attr, char *routermac) +void bgp_add_routermac_ecom(struct attr *attr, struct ethaddr *routermac) { struct ecommunity_val routermac_ecom; @@ -42,7 +42,7 @@ void bgp_add_routermac_ecom(struct attr *attr, char *routermac) memset(&routermac_ecom, 0, sizeof(struct ecommunity_val)); routermac_ecom.val[0] = ECOMMUNITY_ENCODE_EVPN; routermac_ecom.val[1] = ECOMMUNITY_EVPN_SUBTYPE_ROUTERMAC; - memcpy(&routermac_ecom.val[2], routermac, ETHER_ADDR_LEN); + memcpy(&routermac_ecom.val[2], routermac->octet, ETHER_ADDR_LEN); if (!attr->extra->ecommunity) attr->extra->ecommunity = ecommunity_new(); ecommunity_add_val(attr->extra->ecommunity, &routermac_ecom); @@ -171,7 +171,7 @@ char *ecom_mac2str(char *ecom_mac) en = ecom_mac; en += 2; - return prefix_mac2str(en, NULL, 0); + return prefix_mac2str((struct ethaddr *)en, NULL, 0); } /* dst prefix must be AF_INET or AF_INET6 prefix, to forge EVPN prefix */ diff --git a/bgpd/bgp_attr_evpn.h b/bgpd/bgp_attr_evpn.h index 7fa7256ca0..e6da7e7080 100644 --- a/bgpd/bgp_attr_evpn.h +++ b/bgpd/bgp_attr_evpn.h @@ -50,11 +50,10 @@ struct bgp_route_evpn { }; extern int str2esi(const char *str, struct eth_segment_id *id); -extern int str2mac(const char *str, char *mac); extern char *esi2str(struct eth_segment_id *id); extern char *ecom_mac2str(char *ecom_mac); -extern void bgp_add_routermac_ecom(struct attr *attr, char *routermac); +extern void bgp_add_routermac_ecom(struct attr *attr, struct ethaddr *routermac); extern int bgp_build_evpn_prefix(int type, uint32_t eth_tag, struct prefix *dst); #endif /* _QUAGGA_BGP_ATTR_EVPN_H */ diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 3cd4dd59a0..e75978d003 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -206,7 +206,7 @@ struct bgp_static /* EVPN */ struct eth_segment_id *eth_s_id; - char *router_mac; + struct ethaddr *router_mac; uint16_t encap_tunneltype; struct prefix gatewayIp; }; diff --git a/bgpd/rfapi/rfapi_vty.c b/bgpd/rfapi/rfapi_vty.c index 22489e87e2..55ad036f28 100644 --- a/bgpd/rfapi/rfapi_vty.c +++ b/bgpd/rfapi/rfapi_vty.c @@ -314,7 +314,7 @@ rfapiL2o2Qprefix (struct rfapi_l2address_option *l2o, struct prefix *pfx) char * rfapiEthAddr2Str (const struct ethaddr *ea, char *buf, int bufsize) { - return prefix_mac2str (ea->octet, buf, bufsize); + return prefix_mac2str (ea, buf, bufsize); } int