ECMP UC2 Enhancement: Support for more than two DC-GWs 40/83340/5
authorAnkit Jain <ankit.j.jain@ericsson.com>
Wed, 4 Jul 2018 09:49:22 +0000 (15:19 +0530)
committerFaseela K <faseela.k@ericsson.com>
Tue, 17 Sep 2019 15:42:21 +0000 (15:42 +0000)
commit6282ebd1f91fc59c28537f33f68b2e1fd74af88c
treec7918cfd20e1d07cf029a8ff548c1133ed8be94e
parent43de8e248acc68a8d614461a0a23a50a0217acb1
ECMP UC2 Enhancement: Support for more than two DC-GWs

Following changes are done as part of this enhancement:

1. Creates nc2 load balancing groups with each group having two
buckets pointing towards DC-GWs.
Quagga bgp will only advertise two routes and based on the routes
advertised, table 21 will point to one of the groups.

2. Marks buckets down when external tunnel end point gets
deleted.

3. Yang changes to store DC-GWs.

Note: After this change, DC-GW load balancing gropus will
not be deleted forever, which is fine because Neighbhor
add/delete are initial operations and will not be performed frequently.

Following are the scenarios which will end up having stale groups:
a) When tunnel is deleted and BGP neighbor comes up with
different tunnel ip.
b) When tunnel and BGP neighbor both are deleted.

Change-Id: I74b1025751b58a7d0d19be19e2edd13c8205bde7
Signed-off-by: Ankit Jain <ankit.j.jain@ericsson.com>
Signed-off-by: Amitesh Soni <amitesh.soni@ericsson.com>
bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpConfigurationManager.java
bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpUtil.java
fibmanager/api/src/main/java/org/opendaylight/netvirt/fibmanager/api/IFibManager.java
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibManagerImpl.java
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java
fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java
vpnmanager/api/src/main/yang/odl-l3vpn.yang
vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/TunnelInterfaceStateListener.java