diff options
author | Sri Mohana Singamsetty <srimohans@gmail.com> | 2020-04-05 20:41:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-05 20:41:42 +0200 |
commit | 70ecc066e7d8a213a0c636fabd889614afc7ec18 (patch) | |
tree | 6bfd90d5aa14c677e5d19dd2da537e554afe48fb /bgpd/rfapi | |
parent | Merge pull request #6143 from ton31337/fix/remove_prefixReceivedCount (diff) | |
parent | tests: topotests fixup for weight display (diff) | |
download | frr-70ecc066e7d8a213a0c636fabd889614afc7ec18.tar.xz frr-70ecc066e7d8a213a0c636fabd889614afc7ec18.zip |
Merge pull request #6105 from vivek-cumulus/bgp_link_bandwidth_unequal_cost_multipath
Unequal cost multipath (a.ka. weighted ECMP) with BGP link-bandwidth
Diffstat (limited to 'bgpd/rfapi')
-rw-r--r-- | bgpd/rfapi/rfapi.c | 8 | ||||
-rw-r--r-- | bgpd/rfapi/rfapi_import.c | 2 | ||||
-rw-r--r-- | bgpd/rfapi/vnc_export_bgp.c | 4 | ||||
-rw-r--r-- | bgpd/rfapi/vnc_import_bgp.c | 2 |
4 files changed, 9 insertions, 7 deletions
diff --git a/bgpd/rfapi/rfapi.c b/bgpd/rfapi/rfapi.c index 435b61edf..a0d8995a0 100644 --- a/bgpd/rfapi/rfapi.c +++ b/bgpd/rfapi/rfapi.c @@ -838,7 +838,7 @@ void add_vnc_route(struct rfapi_descriptor *rfd, /* cookie, VPN UN addr, peer */ beec.val[1] = ECOMMUNITY_OPAQUE_SUBTYPE_ENCAP; beec.val[6] = ((TunnelType) >> 8) & 0xff; beec.val[7] = (TunnelType)&0xff; - ecommunity_add_val(attr.ecommunity, &beec); + ecommunity_add_val(attr.ecommunity, &beec, false, false); } /* @@ -2650,7 +2650,8 @@ int rfapi_register(void *handle, struct rfapi_ip_prefix *prefix, ecom_value.val[7] = (l2o->logical_net_id >> 0) & 0xff; rtlist = ecommunity_new(); - ecommunity_add_val(rtlist, &ecom_value); + ecommunity_add_val(rtlist, &ecom_value, + false, false); } if (l2o->tag_id) { as_t as = bgp->as; @@ -2675,7 +2676,8 @@ int rfapi_register(void *handle, struct rfapi_ip_prefix *prefix, ecom_value.val[7] = val & 0xff; if (rtlist == NULL) rtlist = ecommunity_new(); - ecommunity_add_val(rtlist, &ecom_value); + ecommunity_add_val(rtlist, &ecom_value, + false, false); } } diff --git a/bgpd/rfapi/rfapi_import.c b/bgpd/rfapi/rfapi_import.c index d058fe3b2..d261a3ee8 100644 --- a/bgpd/rfapi/rfapi_import.c +++ b/bgpd/rfapi/rfapi_import.c @@ -573,7 +573,7 @@ struct rfapi_import_table *rfapiMacImportTableGet(struct bgp *bgp, uint32_t lni) eval.val[7] = (lni >> 0) & 0xff; enew = ecommunity_new(); - ecommunity_add_val(enew, &eval); + ecommunity_add_val(enew, &eval, false, false); it->rt_import_list = enew; for (afi = AFI_IP; afi < AFI_MAX; ++afi) { diff --git a/bgpd/rfapi/vnc_export_bgp.c b/bgpd/rfapi/vnc_export_bgp.c index a7aa4c66f..bd3395b49 100644 --- a/bgpd/rfapi/vnc_export_bgp.c +++ b/bgpd/rfapi/vnc_export_bgp.c @@ -532,7 +532,7 @@ static struct ecommunity *vnc_route_origin_ecom(struct agg_node *rn) &bpi->attr->mp_nexthop_global_in.s_addr, 4); roec.val[6] = 0; roec.val[7] = 0; - ecommunity_add_val(new, &roec); + ecommunity_add_val(new, &roec, false, false); break; case AF_INET6: /* No support for IPv6 addresses in extended communities @@ -563,7 +563,7 @@ static struct ecommunity *vnc_route_origin_ecom_single(struct in_addr *origin) new = ecommunity_new(); assert(new); - ecommunity_add_val(new, &roec); + ecommunity_add_val(new, &roec, false, false); if (!new->size) { ecommunity_free(&new); diff --git a/bgpd/rfapi/vnc_import_bgp.c b/bgpd/rfapi/vnc_import_bgp.c index 915dfaabf..ac5beed0e 100644 --- a/bgpd/rfapi/vnc_import_bgp.c +++ b/bgpd/rfapi/vnc_import_bgp.c @@ -415,7 +415,7 @@ static int process_unicast_route(struct bgp *bgp, /* in */ localadmin = htons(hc->resolve_nve_roo_local_admin); memcpy(vnc_gateway_magic.val + 6, (char *)&localadmin, 2); - ecommunity_add_val(*ecom, &vnc_gateway_magic); + ecommunity_add_val(*ecom, &vnc_gateway_magic, false, false); } return 0; |