[CORD-458] Updates ARP handler

Changes:
- SR application uses NRM;
- Adds hooks for ND protocol;
- Updates ARP handler to better leverage on NRM;
- Reworks to take into account IPv4/IPv6 together;

Change-Id: Iab55b8c5ef7d973928d8ad47e2c2a482fb9c5c8a
diff --git a/src/main/java/org/onosproject/segmentrouting/cli/DeviceSubnetListCommand.java b/src/main/java/org/onosproject/segmentrouting/cli/DeviceSubnetListCommand.java
index 119d1e9..da3dd1c 100644
--- a/src/main/java/org/onosproject/segmentrouting/cli/DeviceSubnetListCommand.java
+++ b/src/main/java/org/onosproject/segmentrouting/cli/DeviceSubnetListCommand.java
@@ -17,7 +17,7 @@
 package org.onosproject.segmentrouting.cli;
 
 import org.apache.karaf.shell.commands.Command;
-import org.onlab.packet.Ip4Prefix;
+import org.onlab.packet.IpPrefix;
 import org.onosproject.cli.AbstractShellCommand;
 import org.onosproject.net.DeviceId;
 import org.onosproject.segmentrouting.SegmentRoutingService;
@@ -38,11 +38,11 @@
         printDeviceSubnetMap(srService.getDeviceSubnetMap());
     }
 
-    private void printDeviceSubnetMap(Map<DeviceId, Set<Ip4Prefix>> deviceSubnetMap) {
-        deviceSubnetMap.forEach(((deviceId, ip4Prefices) -> {
+    private void printDeviceSubnetMap(Map<DeviceId, Set<IpPrefix>> deviceSubnetMap) {
+        deviceSubnetMap.forEach(((deviceId, ipPrefices) -> {
             print("%s", deviceId);
-            ip4Prefices.forEach(ip4Prefix -> {
-                print("    %s", ip4Prefix);
+            ipPrefices.forEach(ipPrefix -> {
+                print("    %s", ipPrefix);
             });
         }));
     }