Bug 6786: L3VPN is not honoring VTEP add or delete in operational cloud 03/48603/8
authorehvkand <hanamantagoud.v.kandagal@ericsson.com>
Mon, 21 Nov 2016 06:03:15 +0000 (11:33 +0530)
committerHANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Mon, 28 Nov 2016 16:32:26 +0000 (22:02 +0530)
commit63b2327be21417cbc65f61bcaee2eaa77fd34272
treea36b16f3a0a409868fa454f05416396c7b2fac2a
parentcb7992e6bfe76535933e5c111dea56b230f30dd5
Bug 6786: L3VPN is not honoring VTEP add or delete in operational cloud

As part of making L3VPN honor VTEP add-delete operation , this is a third
set of changes.

This code review contains following fixes :

1. When tunnel UP event is received upon TEP add , VpnInterfaces Adj and
VRF entry is updated as a part of DJC. There exists a race condition
between DJC and populateInternalRoutesOnDpn . In
populateInternalRoutesOnDpn , if remote NH list is empty , remote route is
not populated. With the fix , handleRemoteRoute is called with
updateVpnInterfaceOnTepAdd method to populate the route on remote DPN.

2. When tunnel EP is deleted on a DPN , VPN gets two deletion event. One
for a DPN on which tunnel EP was deleted and another for other-end DPN.
Update the adj for the vpninterfaces for a DPN on which TEP is deleted.
Dont update the adj for vpninterfaces for a DPN on which TEP is not
deleted. DPN on which TEP is deleted , endpoint IP will be null.

3. When tep is added on a DPN , tunnelinterfacestatechange listener gets
event with srcDpn , destDpn. When a FIB entries of srcDpn are being
programmed on destDpn , get egress action failed because tunnel interface
on destDPN may not be created yet. Hence FIB entry creation logic is
modified. FIB entries of destDPN are populated on srcDpn.

4. When TEP is deleted on DPN1 , 2 TEP delete events are received. One for
a DPN1 and another for DPN2. For DPN2 , TEP configuration is intact , but
tunnel is down. Only VRF entries of prefixes on DPN1 will be modified.

Change-Id: I4f9dc18f211464dc80874c944f5c200622a3feb3
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: ehvkand <hanamantagoud.v.kandagal@ericsson.com>
Signed-off-by: HANAMANTAGOUD V Kandagal <hanamantagoud.v.kandagal@ericsson.com>
vpnservice/fibmanager/fibmanager-api/src/main/java/org/opendaylight/netvirt/fibmanager/api/IFibManager.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibManagerImpl.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java
vpnservice/vpnmanager/vpnmanager-api/src/main/yang/odl-l3vpn.yang
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/TunnelInterfaceStateListener.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnSubnetRouteHandler.java