]> git.puffer.fish Git - matthieu/frr.git/commitdiff
Merge branch 'master' of https://github.com/frrouting/frr into evpn-ipv6-tenant-routing
authorvivek <vivek@cumulusnetworks.com>
Sat, 10 Mar 2018 04:03:41 +0000 (04:03 +0000)
committervivek <vivek@cumulusnetworks.com>
Sat, 10 Mar 2018 04:03:41 +0000 (04:03 +0000)
Conflicts:
bgpd/bgp_evpn.c

1  2 
bgpd/bgp_evpn.c
bgpd/bgp_evpn_vty.c
zebra/zebra_rib.c
zebra/zserv.c

diff --cc bgpd/bgp_evpn.c
index 9a62c525bd96706ac5866141858c12bc4a684691,fc7549671e0f35fa7aa10711745cac6358c1245b..a5ce53da4500fe5e5ed9478746778a6f301f7e5c
@@@ -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);
Simple merge
Simple merge
diff --cc zebra/zserv.c
index 07258cdb72f0258847a41f53b86fe043cfe76f18,1a2ad7f8b4f594d304f6b77818ab3eb7da916a71..9afffbda1e1002a10da27f0bdb11f3bc4efa442e
@@@ -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);