Remove vpn-portip-to-port after unset router GW 70/73370/3
authorVinh Nguyen <vinh.nguyen@hcl.com>
Sat, 23 Jun 2018 00:11:46 +0000 (17:11 -0700)
committerSam Hague <shague@redhat.com>
Mon, 25 Jun 2018 00:51:02 +0000 (00:51 +0000)
Issue: After router unsets external-gateway the
vpn-portip-to-port entry for router external gateway IP remains.

JIRA: NETVIRT-1313

Change-Id: Ic4b2e56f61d87469ea24fcbb3576c35d54987c8a
Signed-off-by: Vinh Nguyen <vinh.nguyen@hcl.com>
neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java

index d5d440d0207ba253441b517b620c1c2b42a07fab..d375f4df92a85f4a58d28d535e3e03ad3df966eb 100644 (file)
@@ -665,6 +665,17 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
                         routerIds.add(subnetMap.getRouterId());
                     }
                     internetVpnId = subnetMap.getInternetVpnId();
+
+                    if (NeutronConstants.DEVICE_OWNER_GATEWAY_INF.equals(port.getDeviceOwner())) {
+                        String routerGwIpAddress = String.valueOf(ip.getIpAddress().getValue());
+                        if (vpnId != null) {
+                            neutronvpnUtils.removeVpnPortFixedIpToPort(vpnId.getValue(), routerGwIpAddress, confTx);
+                        }
+                        if (internetVpnId != null) {
+                            neutronvpnUtils.removeVpnPortFixedIpToPort(internetVpnId.getValue(),
+                                routerGwIpAddress, confTx);
+                        }
+                    }
                 }
                 if (vpnId != null || internetVpnId != null) {
                     // remove vpn-interface for this neutron port