[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/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/CordConfigHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/CordConfigHandler.java
index 6710330..618c0f0 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/CordConfigHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/CordConfigHandler.java
@@ -102,7 +102,7 @@
 
         // Do not proceed if agent port doesn't have subnet configured
         Ip4Prefix agentSubnet = srManager.deviceConfiguration
-                .getPortSubnet(agentLocation.deviceId(), agentLocation.port());
+                .getPortIPv4Subnet(agentLocation.deviceId(), agentLocation.port());
         if (agentSubnet == null) {
             log.warn("Agent port does not have subnet configuration. Abort.");
             return;
@@ -115,7 +115,7 @@
         accessAgentData.getOltMacInfo().forEach((connectPoint, macAddress) -> {
             // Do not proceed if olt port has subnet configured
             Ip4Prefix oltSubnet = srManager.deviceConfiguration
-                    .getPortSubnet(connectPoint.deviceId(), connectPoint.port());
+                    .getPortIPv4Subnet(connectPoint.deviceId(), connectPoint.port());
             if (oltSubnet != null) {
                 log.warn("OLT port has subnet configuration. Abort.");
                 return;
@@ -149,7 +149,7 @@
 
         // Do not proceed if olt port doesn't have subnet configured
         Ip4Prefix agentSubnet = srManager.deviceConfiguration
-                .getPortSubnet(agentLocation.deviceId(), agentLocation.port());
+                .getPortIPv4Subnet(agentLocation.deviceId(), agentLocation.port());
         if (agentSubnet == null) {
             log.warn("Agent port does not have subnet configuration. Abort.");
             return;
@@ -162,7 +162,7 @@
         accessAgentData.getOltMacInfo().forEach((connectPoint, macAddress) -> {
             // Do not proceed if agent port doesn't have subnet configured
             Ip4Prefix oltSubnet = srManager.deviceConfiguration
-                    .getPortSubnet(connectPoint.deviceId(), connectPoint.port());
+                    .getPortIPv4Subnet(connectPoint.deviceId(), connectPoint.port());
             if (oltSubnet == null) {
                 log.warn("OLT port does not have subnet configuration. Abort.");
                 return;