NAT failure due to Napt Switch-Over not happened 55/71655/14
authorxcheara <chetan.arakere@altencalsoftlabs.com>
Mon, 23 Apr 2018 05:41:26 +0000 (11:11 +0530)
committerSam Hague <shague@redhat.com>
Mon, 6 Aug 2018 16:27:04 +0000 (16:27 +0000)
commit72c79756c124a224156676f4fa3fddf33a247236
tree99190a88e6f2b3f4fcd34c9a6b6e0665e44e763e
parent1e771de00a30d2ca9019b59ec2fd0b69b87ab768
NAT failure due to Napt Switch-Over not happened

Description :
Whenever a last VM part given VRF is deleted/migrated, it is required
to delete 'dpn-vpninterfaces-list' entry for given dpn-id from
'odl-l3vpn:neutron-router-dpns' Operational DS. This trigger
re-election of new Napt Switch which has VRF presence. But, when 2
VMs part of same VRF on a same DPN deleted simultaneously, then
there are chances that both of these event doesn't delete
'dpn-vpninterfaces-list' entry for the DPN which results in
non-triggering on new Napt Switch election. As a
result, the SNAT reverse traffic initiated from Non-Napt Switch
fail as FIB routes will not be available to carry back traffic
to non-napt switch.

Solution: Changes are done to make sure the 'dpn-vpninterfaces-list'
entry for DPN is deleted properly when last VM on that DPN is deleted
for a given VRF.

Issue : NETVIRT-1221

Change-Id: Idaebd8576762d12639d7bfbc26a89af94de4e991
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/ha/WeightedCentralizedSwitchScheduler.java
natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ExternalNetworksChangeListener.java
natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatInterfaceStateChangeListener.java
natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatRouterInterfaceListener.java
natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java