Added checking at DestinationMapper 44/18244/1
authorTomas Cechvala <tcechval@cisco.com>
Tue, 14 Apr 2015 06:50:38 +0000 (23:50 -0700)
committerTomas Cechvala <tcechval@cisco.com>
Tue, 14 Apr 2015 06:50:38 +0000 (23:50 -0700)
createRouterArpFlow in DestinationMaper is checked for null value.

Signed-off-by: Tomas Cechvala <tcechval@cisco.com>
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/flow/DestinationMapper.java

index b779fc5ef33c0162aa0302c4f77c9a7bc28947f2..6ecba8879a0d41de8b63b31e6f52504ef967f4de 100644 (file)
@@ -153,8 +153,14 @@ public class DestinationMapper extends FlowTable {
         }
         // Write subnet flows
         for (Integer subnetKey : subnetsByL3c.keySet()) {
-            for(Subnet sn:subnetsByL3c.get(subnetKey)) {
-                flowMap.writeFlow(nodeId, TABLE_ID, createRouterArpFlow(nodeId, sn, subnetKey));
+            for (Subnet sn : subnetsByL3c.get(subnetKey)) {
+                Flow arpFlow = createRouterArpFlow(nodeId, sn, subnetKey);
+                if (arpFlow != null) {
+                    flowMap.writeFlow(nodeId, TABLE_ID, arpFlow);
+                } else {
+                    LOG.debug("ARP flow is not created, because virtual router IP has not been set for subnet "
+                            + sn.getIpPrefix().getValue() + ".");
+                }
             }
         }
         // Write broadcast flows per flood domain.