[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/grouphandler/DefaultGroupHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
index 529a99c..d943710 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
@@ -713,7 +713,7 @@
      * all configured subnets.
      */
     public void createGroupsFromSubnetConfig() {
-        Map<Ip4Prefix, List<PortNumber>> subnetPortMap;
+        Map<IpPrefix, List<PortNumber>> subnetPortMap;
         try {
             subnetPortMap = this.deviceConfig.getSubnetPortsMap(this.deviceId);
         } catch (DeviceConfigNotFoundException e) {
@@ -722,7 +722,11 @@
             return;
         }
         // Construct a broadcast group for each subnet
-        subnetPortMap.forEach((subnet, ports) -> createBcastGroupFromSubnet(subnet, ports));
+        subnetPortMap.forEach((subnet, ports) -> {
+            if (subnet.isIp4()) {
+                createBcastGroupFromSubnet(subnet.getIp4Prefix(), ports);
+            }
+        });
     }
 
     /**