Dell Networking SONiC: How to Configure or Use Equal Cost Multi Path in BGP with a Basic Example
Summary: This article explains how to configure or use Equal Cost Multi Path in Border Gateway Protocol (BGP) with a Basic Example.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
|
Prerequisites
We are using standard interface naming to demonstrate the Concepts. See the article Dell Networking S-Series: Basic Interface Configuration - SONiC 4.0 for more information regarding interface naming
|
Index
What is Equal Cost Multi Path (ECMP)?
Configuration Syntax
Example
Goal
Topology
Sample Configuration
What is ECMP?
Equal Cost Multi Path (ECMP) is a Layer 3 routing strategy to forward traffic to a destination using multiple available paths. ECMP increases the number of paths to a destination and increases the available bandwidth to reach the destination. The ECMP mechanism enables load balancing and increased bandwidth by using unused links and bandwidth.ECMP hashing
Different hashing seeds are required in different tiers to prevent traffic polarization in tree-sized data center network topology. In SONiC, we use distinct hashing algorithms for ECMP and LAG by default, so configuring the hash seed is all that is required.
Although ECMP can increase the number of available links, all available paths should be closely load-shared so that no path is over or underutilized. You can modify the IP ECMP load-share hashing parameters to affect traffic load-sharing across multiple available paths. To obtain optimal ECMP load sharing, configure ECMP in all devices that reside between the source and the destination.
It is a best practice to configure different load-balancing parameters at each tier-based upon the unique traffic pattern in the network, if needed. For example, on Router A, the hash fields for load balancing could include source-ip, dest-ip, protocol, source-port, and L4-dest-port, while on Router B, the hash fields could use only source-ip, dest-ip, and protocol.
Configuration Syntax
Configure the ECMP hash seed.Configure a unique hash seed for each device to avoid hash polarization which may result in network congestion. Network polarization can happen when multiple data flows try to reach a switch using the same switch ports.
| Configuration Syntax | Explanation |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash { seed-value }
|
Configure the hash seed. The value for seed-value is from 0 to 16777215. |
Activating multipath in BGP Configuration
| Configuration Syntax | Explanation |
|---|---|
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths {number}
|
Configure the maximum number of eBGP routes that can be selected to form equal cost multi-path (ECMP) routes for load-sharing. |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths ibgp {number} |
Configure the maximum number of iBGP routes that can be selected to form equal cost multi-path (ECMP) routes for load-sharing. |
Configure ECMP load-share hash for IPv4 (Optional).
| Configuration Syntax |
|---|
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv4 {ipv4-src-ip | ipv4-dst-ip | ipv4-ip-proto | ipv4-l4-src-port| ipv4-l4-dst-port | symmetric}
|
Configure ECMP load-share hash for IPv6 (Optional).
| Configuration Syntax |
|---|
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv6 {ipv6-src-ip | ipv6-dst-ip | ipv6-next-hdr | ipv6-l4-src-port| ipv6-l4-dst-port | symmetric}
|
Example
Goal:
Consider the Dell SONiC switch has two routes from BGP to reach 4.4.4.4/32 routes. We must use ECMP to reach 4.4.4.4/32 and use both routes simultaneously.
Topology
We can view the path advertised by the BGP neighbors to our switch to reach a host or subnet, use command show bgp ipv4 unicast <host/subnet>. A sample output is shows below
|
Sample Configuration
Let us activate ECMP. admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure DELLSONiC(config)# ip load-share hash seed 100 |
Let us Configure maximum BGP path to 2 as we have two paths.
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure DELLSONiC(config)# router bgp 100 DELLSONiC(config-router-bgp)# address-family ipv4 unicast DELLSONiC(config-router-bgp-af)# maximum-paths 2 |
To verify if both routes are installed in the routing table, use the below command:
show ip route <hopst/subnet>
DELLSONiC# show ip route 4.4.4.4
Codes: K - kernel route, C - connected, S - static, B - BGP, O - OSPF
> - selected route, * - FIB route, q - queued route, r - rejected route
Destination Gateway Dist/Metric Last Update
--------------------------------------------------------------------------------------------------------------------------------
B>* 4.4.4.4/32 via 10.0.0.2 Eth1/1 20/0 03:02:41 ago
* via 30.0.0.2 Eth1/2
|
Affected Products
PowerSwitch S5212F-ON, PowerSwitch S5224F-ON, PowerSwitch S5232F-ON, PowerSwitch S5248F-ON, PowerSwitch S5296F-ON, PowerSwitch Z9264F-ONProducts
PowerSwitch Z9332F-ON, PowerSwitch Z9432F-ONArticle Properties
Article Number: 000220698
Article Type: How To
Last Modified: 05 Jan 2024
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.