Bug 7120 : NAT Support For GRE TEP add/del is missing 19/48219/2
authorSatish Dutt <satishd@altencalsoftlabs.com>
Wed, 26 Oct 2016 15:13:50 +0000 (20:43 +0530)
committerSam Hague <shague@redhat.com>
Thu, 10 Nov 2016 17:18:47 +0000 (17:18 +0000)
commitc25143816a4889cbfb390ce7a0ead609889e9a77
tree81847d191b657f22d03c6dcfa82717c68b01e881
parent14a21b9c8e1fe5df0e9271ebc370744c41827eb3
Bug 7120 : NAT Support For GRE TEP add/del is missing

Support has been added in the NAT for the GRE TEP changes. Below are the
enhancements :

1) When GRE TEP is deleted :

a) SNAT : If the corresponding DPN was the NAPT switch, then a new NAPT
switch is
re-elected among the other DPNs and rest of the non-NAPT switches point to
the new NAPT switch. The routes to the External Fixed IPs (SNAT IPs) are
updated with the new NAPT switch address.

b) DNAT : If the corressponding DPN was hosting VMs with the Floating IPs,
then
the routes to those FIPs are withdrawn from the BGP and removed from the
controller FIB.

2) When the GRE TEP is added :

a) SNAT : The correponding DPN will be delegated as the non NAPT switch
and made to point to the exsiting NAPT switch. Routes are not altered.

b) DNAT : If the corresponding DPN was hosting VMs with the Floating IPs,
then routes to those FIPs are advertised to the BGP and installed in the
controller FIB.

Change-Id: I0cb968b7beb9ec294cc4bafb6539e2e6cdd1c541
Signed-off-by: Satish Dutt <satishd@altencalsoftlabs.com>
12 files changed:
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/InterfaceStateEventListener.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptManager.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NaptSwitchHA.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatConstants.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatInterfaceStateChangeListener.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatRouterInterfaceListener.java
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatTunnelInterfaceStateListener.java [new file with mode: 0644]
vpnservice/natservice/natservice-impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java
vpnservice/natservice/natservice-impl/src/main/resources/org/opendaylight/blueprint/natservice.xml
vpnservice/vpnmanager/vpnmanager-api/src/main/yang/odl-l3vpn.yang