[CORD-520] IPv6 routing
Changes:
- Adds support for IPv6 host routing in the fabric;
Change-Id: I07369500de48f0945f09a5a1e8ab4c98be37978e
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingNeighbourHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingNeighbourHandler.java
index ae32bfc..1d9a2fc 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingNeighbourHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingNeighbourHandler.java
@@ -82,15 +82,17 @@
byte[] senderIpAddress;
try {
senderMacAddress = config.getDeviceMac(deviceId).toBytes();
- senderIpAddress = config.getRouterIpAddressForASubnetHost(targetAddress.getIp4Address())
- .toOctets();
+ if (targetAddress.isIp4()) {
+ senderIpAddress = config.getRouterIpAddressForASubnetHost(targetAddress.getIp4Address())
+ .toOctets();
+ } else {
+ senderIpAddress = config.getRouterIpAddressForASubnetHost(targetAddress.getIp6Address())
+ .toOctets();
+ }
} catch (DeviceConfigNotFoundException e) {
log.warn(e.getMessage() + " Aborting sendArpRequest.");
return;
}
- /*
- * FIXME understand how to manage IPv4/IPv6 together.
- */
System.arraycopy(senderMacAddress, 0, mac, 0, senderMacAddress.length);
System.arraycopy(senderIpAddress, 0, ip, 0, senderIpAddress.length);
}