Skip v4 subnets/ports in ipv6service 49/42049/2
authorSridhar Gaddam <sgaddam@redhat.com>
Tue, 19 Jul 2016 13:46:15 +0000 (19:16 +0530)
committerSridhar Gaddam <sgaddam@redhat.com>
Tue, 19 Jul 2016 16:07:59 +0000 (21:37 +0530)
Change-Id: Ia2768693137f2f6183a2e6b632917fc5f286fad6
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
vpnservice/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/IfMgr.java
vpnservice/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/NeutronPortChangeListener.java
vpnservice/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/NeutronSubnetChangeListener.java

index 27fc0bdaee3ea2a5e50f7ba3d644d92a4c91ea91..1b52ede0b46ec54dee5db6ac370438a4b70b9594 100644 (file)
@@ -205,8 +205,6 @@ public class IfMgr {
             vsubnets.remove(snetId);
             removeUnprocessed(unprocessedSubnetIntfs, snetId);
             snet = null;
-        } else {
-            logger.error("Delete subnet failed for :{}", snetId);
         }
         return;
     }
@@ -217,11 +215,10 @@ public class IfMgr {
         logger.debug("addRouterIntf portId {}, rtrId {}, snetId {}, networkId {}, ip {}, mac {}",
             portId, rtrId, snetId, networkId, fixedIp, macAddress);
         //Save the interface ipv6 address in its fully expanded format
-        if (fixedIp.getIpv6Address() != null) {
-            Ipv6Address addr = new Ipv6Address(InetAddresses
-                    .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
-            fixedIp = new IpAddress(addr);
-        }
+        Ipv6Address addr = new Ipv6Address(InetAddresses
+                .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
+        fixedIp = new IpAddress(addr);
+
         VirtualPort intf = vintfs.get(portId);
         if (intf == null) {
             intf = new VirtualPort();
@@ -258,10 +255,9 @@ public class IfMgr {
             addUnprocessed(unprocessedRouterIntfs, rtrId, intf);
             addUnprocessed(unprocessedSubnetIntfs, snetId, intf);
         }
-        if (fixedIp.getIpv6Address() != null) {
-            vrouterv6IntfMap.put(networkId, intf);
-            programNSFlowForAddress(intf, fixedIp.getIpv6Address(), true);
-        }
+
+        vrouterv6IntfMap.put(networkId, intf);
+        programNSFlowForAddress(intf, fixedIp.getIpv6Address(), true);
         return;
     }
 
@@ -277,12 +273,14 @@ public class IfMgr {
         for (FixedIps fip : fixedIpsList) {
             IpAddress fixedIp = fip.getIpAddress();
 
-            //Save the interface ipv6 address in its fully expanded format
-            if (fixedIp.getIpv6Address() != null) {
-                Ipv6Address addr = new Ipv6Address(InetAddresses
-                        .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
-                fixedIp = new IpAddress(addr);
+            if (fixedIp.getIpv4Address() != null) {
+                continue;
             }
+
+            //Save the interface ipv6 address in its fully expanded format
+            Ipv6Address addr = new Ipv6Address(InetAddresses
+                    .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
+            fixedIp = new IpAddress(addr);
             intf.setSubnetInfo(fip.getSubnetId(), fixedIp);
 
             VirtualRouter rtr = vrouters.get(rtrId);
@@ -299,9 +297,7 @@ public class IfMgr {
                 addUnprocessed(unprocessedRouterIntfs, rtrId, intf);
                 addUnprocessed(unprocessedSubnetIntfs, fip.getSubnetId(), intf);
             }
-            if (fixedIp.getIpv6Address() != null) {
-                vrouterv6IntfMap.put(intf.getNetworkID(), intf);
-            }
+            vrouterv6IntfMap.put(intf.getNetworkID(), intf);
         }
         return;
     }
@@ -312,11 +308,9 @@ public class IfMgr {
             portId, snetId, networkId, fixedIp, macAddress);
 
         //Save the interface ipv6 address in its fully expanded format
-        if (fixedIp.getIpv6Address() != null) {
-            Ipv6Address addr = new Ipv6Address(InetAddresses
-                    .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
-            fixedIp = new IpAddress(addr);
-        }
+        Ipv6Address addr = new Ipv6Address(InetAddresses
+                .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
+        fixedIp = new IpAddress(addr);
         VirtualPort intf = vintfs.get(portId);
         if (intf == null) {
             intf = new VirtualPort();
@@ -358,13 +352,14 @@ public class IfMgr {
         intf.clearSubnetInfo();
         for (FixedIps fip : fixedIpsList) {
             IpAddress fixedIp = fip.getIpAddress();
-
-            //Save the interface ipv6 address in its fully expanded format
-            if (fixedIp.getIpv6Address() != null) {
-                Ipv6Address addr = new Ipv6Address(InetAddresses
-                        .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
-                fixedIp = new IpAddress(addr);
+            if (fixedIp.getIpv4Address() != null) {
+                continue;
             }
+            //Save the interface ipv6 address in its fully expanded format
+            Ipv6Address addr = new Ipv6Address(InetAddresses
+                    .forString(fixedIp.getIpv6Address().getValue()).getHostAddress());
+            fixedIp = new IpAddress(addr);
+
             intf.setSubnetInfo(fip.getSubnetId(), fixedIp);
 
             VirtualSubnet snet = vsubnets.get(fip.getSubnetId());
@@ -419,8 +414,6 @@ public class IfMgr {
             }
             vintfs.remove(portId);
             intf = null;
-        } else {
-            logger.error("Delete intf failed for :{}", portId);
         }
         return;
     }
index 3d460c1c72e93b9d36a44b2c23c8c7d0a04aa1db..cbfc29995d29f8719c60dd2b51db53921f4f5009 100644 (file)
@@ -60,6 +60,10 @@ public class NeutronPortChangeListener extends AbstractDataChangeListener<Port>
         List<FixedIps> ipList = port.getFixedIps();
 
         for (FixedIps fixedip : ipList) {
+            if (fixedip.getIpAddress().getIpv4Address() != null) {
+                continue;
+            }
+
             if (port.getDeviceOwner().equalsIgnoreCase(Ipv6Constants.NETWORK_ROUTER_INTERFACE)) {
 
                 // Add router interface
index 001c39f0750fb637ab7609fffeaf9a47160b718b..1ea0a95a87d0ca4611bb44b18231819b8325f255 100644 (file)
@@ -75,17 +75,19 @@ public class NeutronSubnetChangeListener extends AbstractDataChangeListener<Subn
     @Override
     protected void add(InstanceIdentifier<Subnet> identifier, Subnet input) {
         LOG.info("Add Subnet notification handler is invoked...");
-        String ipv6AddrMode = "";
-        if (input.getIpv6AddressMode() != null) {
-            ipv6AddrMode = DHCPV6_MAP.get(input.getIpv6AddressMode());
+        if (IPV_MAP.get(input.getIpVersion()).equals(Ipv6Constants.IP_VERSION_V6)) {
+            String ipv6AddrMode = "";
+            if (input.getIpv6AddressMode() != null) {
+                ipv6AddrMode = DHCPV6_MAP.get(input.getIpv6AddressMode());
+            }
+            String ipv6RaMode = "";
+            if (input.getIpv6RaMode() != null) {
+                ipv6RaMode = DHCPV6_MAP.get(input.getIpv6RaMode());
+            }
+            ifMgr.addSubnet(input.getUuid(), input.getName(), input.getNetworkId(),
+                    input.getTenantId(), input.getGatewayIp(), IPV_MAP.get(input.getIpVersion()),
+                    input.getCidr(), ipv6AddrMode, ipv6RaMode);
         }
-        String ipv6RaMode = "";
-        if (input.getIpv6RaMode() != null) {
-            ipv6RaMode = DHCPV6_MAP.get(input.getIpv6RaMode());
-        }
-        ifMgr.addSubnet(input.getUuid(), input.getName(), input.getNetworkId(),
-                input.getTenantId(), input.getGatewayIp(), IPV_MAP.get(input.getIpVersion()),
-                input.getCidr(), ipv6AddrMode, ipv6RaMode);
     }
 
     @Override