ONOS-685: Network Configuration Manager support for Segment Routing application

Change-Id: Ia15bfd24559dd5542633c8b76d500b2d31362340
diff --git a/src/main/java/org/onosproject/segmentrouting/ArpHandler.java b/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
index 5b94518..b696525 100644
--- a/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
+++ b/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
@@ -19,7 +19,6 @@
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.Ip4Address;
 import org.onlab.packet.IpAddress;
-import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
 import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.DeviceId;
@@ -36,7 +35,7 @@
 import org.slf4j.LoggerFactory;
 
 import java.nio.ByteBuffer;
-
+import java.util.List;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 public class ArpHandler {
@@ -112,11 +111,11 @@
 
 
     private boolean isArpReqForRouter(DeviceId deviceId, ARP arpRequest) {
-        Ip4Address gatewayIpAddress = config.getGatewayIpAddress(deviceId);
-        if (gatewayIpAddress != null) {
+        List<Ip4Address> gatewayIpAddresses = config.getGatewayIpAddress(deviceId);
+        if (gatewayIpAddresses != null) {
             Ip4Address targetProtocolAddress = Ip4Address.valueOf(arpRequest
                     .getTargetProtocolAddress());
-            if (gatewayIpAddress.equals(targetProtocolAddress)) {
+            if (gatewayIpAddresses.contains(targetProtocolAddress)) {
                 return true;
             }
         }
@@ -124,15 +123,11 @@
     }
 
     private boolean isArpReqForSubnet(DeviceId deviceId, ARP arpRequest) {
-        String subnetInfo = config.getSubnetInfo(deviceId);
-        if (subnetInfo != null) {
-            IpPrefix prefix = IpPrefix.valueOf(subnetInfo);
-            if (prefix.contains(Ip4Address.valueOf(arpRequest.getTargetProtocolAddress()))) {
-                return true;
-            }
-        }
-
-        return false;
+        return config.getSubnetInfo(deviceId).stream()
+                     .anyMatch((prefix)->
+                     prefix.contains(Ip4Address.
+                                     valueOf(arpRequest.
+                                             getTargetProtocolAddress())));
     }
 
     /**