Upstreaming changes in Netvirt 48/42548/2
authorSuraj Ranjan <suraj.ranjan@ericsson.com>
Tue, 26 Jul 2016 09:08:22 +0000 (14:38 +0530)
committerSuraj Ranjan <suraj.ranjan@ericsson.com>
Tue, 26 Jul 2016 09:54:57 +0000 (15:24 +0530)
commit61961cea27d47c39f76a20b7094ec1b7a5366d57
tree6fe9bf91bfa1ce0f89d68b564815bc0aa3184261
parent06d3b0d63d7cab796af20e6c91491b6f9d7d8c01
Upstreaming changes in Netvirt

(Dependent on https://git.opendaylight.org/gerrit/#/c/42540/)

This commit includes VPN Engine Concurrency Fixes also some SNAT and DNAT
regression issues.

1. We have made multiple fixes here for safe concurrency.

2. We have moved all helper methods that deal with VRFEntry
resource into FibManager from VPNManager.

3. We have gracefully handled deletion of bgpvpn regardless of
how many ever external routes are available in such vpn.

4. We have fixed NATService to directly use FibManager to
program SNAT/DNAT VRFEntries.

5. As of this review, all local VM routes WILL NOT be batched for
write into VRFEntry Config DataStore.

6. All the external routes imported from BGP, WILL BE batched and
written to VRFEntry Config DataStore.

Change-Id: I3109516e8d163f2b61ba49acc463b85b09bbaf85
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
33 files changed:
vpnservice/bgpmanager/bgpmanager-api/pom.xml
vpnservice/bgpmanager/bgpmanager-api/src/main/java/org.opendaylight.netvirt.bgpmanager.api/IBgpManager.java
vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpConfigurationManager.java
vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpManager.java
vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpUtil.java
vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/FibDSWriter.java
vpnservice/bgpmanager/bgpmanager-impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Network.java
vpnservice/bgpmanager/bgpmanager-impl/src/test/java/org/opendaylight/netvirt/bgpmanager/test/BgpManagerTest.java
vpnservice/fibmanager/fibmanager-api/src/main/java/org/opendaylight/netvirt/fibmanager/api/IFibManager.java
vpnservice/fibmanager/fibmanager-api/src/main/java/org/opendaylight/netvirt/fibmanager/api/RouteOrigin.java [moved from vpnservice/bgpmanager/bgpmanager-api/src/main/java/org.opendaylight.netvirt.bgpmanager.api/RouteOrigin.java with 97% similarity]
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibManager.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibManagerProvider.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java
vpnservice/fibmanager/fibmanager-impl/src/test/java/org/opendaylight/netvirt/fibmanager/test/FibManagerTest.java
vpnservice/natservice/natservice-api/src/main/yang/odl-nat.yang
vpnservice/natservice/natservice-impl/pom.xml
vpnservice/natservice/natservice-impl/src/main/config/default-config.xml
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ExternalRoutersListener.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/FloatingIPListener.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatServiceProvider.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/VpnFloatingIpHandler.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/natservice/impl/rev160111/NATServiceModule.java
vpnservice/natservice/natservice-impl/src/main/yang/natservice-impl.yang
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/DpnInVpnChangeListener.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/InterfaceStateChangeListener.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/TunnelInterfaceStateListener.java [new file with mode: 0644]
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnManager.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnRpcServiceImpl.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnUtil.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnserviceProvider.java
vpnservice/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/netvirt/vpnmanager/intervpnlink/InterVpnLinkListener.java