encode_rmac_extcomm(&eval_rmac, &attr->rmac);
ecom_rmac.size = 1;
ecom_rmac.val = (uint8_t *)eval_rmac.val;
- attr->ecommunity = ecommunity_merge(attr->ecommunity,
- &ecom_rmac);
+ attr->ecommunity =
+ ecommunity_merge(attr->ecommunity, &ecom_rmac);
}
+ /* Add default gateway, if needed. */
if (attr->default_gw) {
memset(&ecom_default_gw, 0, sizeof(ecom_default_gw));
encode_default_gw_extcomm(&eval_default_gw);
if (evp->prefix.route_type != BGP_EVPN_MAC_IP_ROUTE)
continue;
- if (IS_EVPN_PREFIX_IPADDR_V4(evp)) {
+ if (IS_EVPN_PREFIX_IPADDR_V6(evp) &&
+ IN6_IS_ADDR_LINKLOCAL(&evp->prefix.ip.ipaddr_v6))
+ update_evpn_route_entry(bgp, vpn, afi, safi, rn,
+ &attr_ip6_ll, 0, 1, &ri, 0);
+ else {
if (evpn_route_is_sticky(bgp, rn))
update_evpn_route_entry(bgp, vpn, afi, safi, rn,
- &attr_sticky, 0, 1,
- &ri, 0);
+ &attr_sticky, 0, 1, &ri,
+ 0);
else if (evpn_route_is_def_gw(bgp, rn))
update_evpn_route_entry(bgp, vpn, afi, safi, rn,
- &attr_def_gw, 0, 1,
- &ri, 0);
+ &attr_def_gw, 0, 1, &ri,
+ 0);
else
update_evpn_route_entry(bgp, vpn, afi, safi, rn,
&attr, 0, 1, &ri, 0);