Fixing a couple of NPEs

Change-Id: I19b5a2787b26e67e05640f6c64a13b58f2dc089a
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
index 388e313..5e4f7d2 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
@@ -24,7 +24,6 @@
 import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.Host;
-import org.onosproject.net.PortNumber;
 import org.onosproject.net.flow.DefaultTrafficTreatment;
 import org.onosproject.net.flow.TrafficTreatment;
 import org.onosproject.net.packet.DefaultOutboundPacket;
@@ -88,10 +87,7 @@
         ARP arp = (ARP) ethernet.getPayload();
 
         ConnectPoint connectPoint = pkt.receivedFrom();
-        PortNumber inPort = connectPoint.port();
         DeviceId deviceId = connectPoint.deviceId();
-        byte[] senderMacAddressByte = arp.getSenderHardwareAddress();
-        Ip4Address hostIpAddress = Ip4Address.valueOf(arp.getSenderProtocolAddress());
         if (arp.getOpCode() == ARP.OP_REQUEST) {
             handleArpRequest(deviceId, connectPoint, ethernet);
         } else {
@@ -254,15 +250,23 @@
                 ((ARP) packet.getPayload()).getTargetProtocolAddress()
         );
 
-        srManager.deviceConfiguration.getSubnetPortsMap(inPort.deviceId()).forEach((subnet, ports) -> {
-            if (subnet.contains(targetProtocolAddress)) {
-                ports.stream()
-                        .filter(port -> port != inPort.port())
-                        .forEach(port -> {
-                            removeVlanAndForward(packet, new ConnectPoint(inPort.deviceId(), port));
-                        });
-            }
-        });
+        try {
+            srManager.deviceConfiguration
+                 .getSubnetPortsMap(inPort.deviceId()).forEach((subnet, ports) -> {
+                     if (subnet.contains(targetProtocolAddress)) {
+                         ports.stream()
+                         .filter(port -> port != inPort.port())
+                         .forEach(port -> {
+                             removeVlanAndForward(packet,
+                                 new ConnectPoint(inPort.deviceId(), port));
+                         });
+                     }
+                 });
+        } catch (DeviceConfigNotFoundException e) {
+            log.warn(e.getMessage()
+                    + " Cannot flood in subnet as device config not available"
+                    + " for device: " + inPort.deviceId());
+        }
     }
 
     /**