From: vivek Date: Sat, 10 Mar 2018 04:03:41 +0000 (+0000) Subject: Merge branch 'master' of https://github.com/frrouting/frr into evpn-ipv6-tenant-routing X-Git-Tag: frr-5.0-dev~167^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=4e262455a252c700f81df75fb8107d112062bba8;p=matthieu%2Ffrr.git Merge branch 'master' of https://github.com/frrouting/frr into evpn-ipv6-tenant-routing Conflicts: bgpd/bgp_evpn.c --- 4e262455a252c700f81df75fb8107d112062bba8 diff --cc bgpd/bgp_evpn.c index 9a62c525bd,fc7549671e..a5ce53da45 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@@ -708,11 -696,10 +703,11 @@@ static void build_evpn_route_extcomm(st 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); @@@ -1555,19 -1538,15 +1544,19 @@@ static int update_all_type2_routes(stru 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); diff --cc zebra/zserv.c index 07258cdb72,1a2ad7f8b4..9afffbda1e --- a/zebra/zserv.c +++ b/zebra/zserv.c @@@ -1201,12 -1251,11 +1250,10 @@@ static int zread_route_add(struct zser &(api_nh->gate.ipv4), sizeof(struct in_addr)); zebra_vxlan_evpn_vrf_route_add( - vrf_id, - &api.rmac, - &vtep_ip, - &api.prefix); + vrf_id, &api.rmac, &vtep_ip, + &api.prefix); } break; - } case NEXTHOP_TYPE_IPV6: nexthop = route_entry_nexthop_ipv6_add( re, &api_nh->gate.ipv6, api_nh->vrf_id);