EdgeRouter - Is Equal-Cost Multi Path (ECMP) routing supported?

Yes, EdgeRouter supports Equal-Cost Multi Path (ECMP) routing. Assuming multiple routes exist for the same destination network, with same prefix and administrative distance, traffic will be balanced equally between links. ECMP is supported per the linux kernel.

The following example shows a default route of with two static routes (via, eth0 & via, eth1). The router balances between the two routes in round robin fashion, unlike on versions  1.6 and earlier where the two routes would flow-hash manner.

ubnt@R1:~$ show ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

S>* via, eth0
* via, eth1
C>* is directly connected, eth0
C>* is directly connected, lo
C>* is directly connected, eth1

After pinging (Google DNS server) and (ubnt.com), the IP route summary shows ECMP statistics.

ubnt@R1:~$  show ip route summary 
IP routing table name is Default-IP-Routing-Table(0)
IP routing table maximum-paths   : 8
Total number of IPv4 routes      : 20
Total number of IPv4 paths       : 24
Route Source    Networks
connected       12
static          8
Total           20
FIB             0
ECMP statistics (active in ASIC):
Total number of IPv4 ECMP routes : 4
Total number of IPv4 ECMP paths    : 8
Number of routes with 2 ECMP paths : 4
Powered by Zendesk