Table of Contents
In normal ECMP, the route to a destination has multiple next hops and traffic is expected to be equally distributed across these next hops. In practice, flow-based hashing is used so that all traffic associated with a particular flow uses the same next hop, and by extension, the same path across the network.
Weighted ECMP using BGP link bandwidth introduces support for network-wide UCMP to an IP destination. The unequal cost load balancing is implemented by the forwarding plane based on the weights associated with the next hops of the IP prefix. These weights are computed based on the bandwidths of the corresponding multipaths which are encoded in the BGP link bandwidth extended community. Exchange of an appropriate BGP link bandwidth value for a prefix across the network results in network-wide unequal cost multipathing.
WCMP is applicable in a pure L3 network as well as in a EVPN network.
Example model & SONiC version:
admin@sonic:~$ sudo config bgp device-global wcmp enabled|disabled
Check the status:
admin@sonic:~$ show bgp device-global
TSA W-ECMP
-------- --------
disabled enabled
admin@sonic:~$ show bgp device-global -j
{
"tsa": "disabled",
"w-ecmp": "enabled"
}
The configuration for weighted ECMP using BGP link bandwidth requires using a route-map to inject the link bandwidth extended community.
There is no configuration necessary to process received link bandwidth and translate it into the weight associated with the corresponding next hop; that happens by default. If some of the multipaths do not have the link bandwidth extended community, the default behavior is to revert to normal ECMP.
At the entry point router that is injecting the prefix to which weighted load balancing must be performed, a route-map must be configured to attach the link bandwidth extended community.
For the use case of providing weighted load balancing for an anycast service, this configuration will typically need to be applied at the ToR or Leaf router that is connected to servers which provide the anycast service and the bandwidth would be based on the number of multipaths for the destination.
L3 network
Pre-requisite – Border Gateway Protocol.
Example configuration:
!
route-map wcmp-map permit 100
set extcommunity bandwidth num-multipaths
exit
!
router bgp 65100
neighbor SPINE peer-group
neighbor 1.1.1.1 peer-group SPINE
neighbor 1.1.1.1 remote-as 65200
neighbor 2.2.2.2 peer-group SPINE
neighbor 2.2.2.2 remote-as 65200
!
address-family ipv4 unicast
neighbor SPINE route-map wcmp-map out
neighbor SPINE activate
exit-address-family
!
end
EVPN network
Pre-requisite – EVPN L2 VxLAN Configuration.
Example configuration:
!
route-map wcmp-map permit 100
set extcommunity bandwidth num-multipaths
exit
!
router bgp 65100 vrf vrf1
neighbor SPINE peer-group
neighbor 1.1.1.1 peer-group SPINE
neighbor 1.1.1.1 remote-as 65200
neighbor 2.2.2.2 peer-group SPINE
neighbor 2.2.2.2 remote-as 65200
!
address-family l2vpn evpn
advertise ipv4 unicast route-map wcmp-map
neighbor SPINE activate
exit-address-family
!
end
Taoyuan, Taiwan, 29th of April 2025. The latest release of SONiC 202411.n0 – an enterprise distribution of SONiC by Netberg – introduces new features and enhancements tailored to improve performance in data center, edge, and campus environments.
Taoyuan, Taiwan, 20th of January 2025. Netberg, the leading provider of open networking solutions, announces support of Ubuntu 24.04 Noble Numbat on its Broadcom-enabled portfolio.
Taoyuan city, Taiwan, 24th of June 2024. Netberg announced the new Aurora 721 100G and Aurora 421 10G switches, which feature programmable pipelines powered by Broadcom StrataXGS® Trident3 Ethernet switch chips.
Taoyuan city, Taiwan, January 24th, 2024. Netberg announced the release of two new models powered by the Broadcom StrataXGS® Trident3 series , the Netberg Aurora 221 1G switch and Aurora 621 25G switch.
Effective January 12, 2024: The following products are now End of Life (EOL) - Aurora 720 and Aurora 620.
Taoyuan city, Taiwan, December 20th, 2023. Netberg updates its Netberg SONiC distribution to release 2022.11 on Aurora 610, Aurora 710, and Aurora 750 P4-Programmable Intel Tofino IFP systems.