ONOS-1521 : Supports Leaf-Spine topology (tested with 4 x 4 )
- Supports ECMPNotSupportedInTransitRouter option
- Adds Leaf-Spine config file
- Removes the temporary NetworkConfigHanlder class
- Removes the grouphandler dependency
- Removes the grouphandler app
Change-Id: I8c70e81bfb4062e251b25c0fa23ef2c92419a75c
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 b696525..6ca6d19 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/ArpHandler.java
@@ -43,7 +43,7 @@
private static Logger log = LoggerFactory.getLogger(ArpHandler.class);
private SegmentRoutingManager srManager;
- private NetworkConfigHandler config;
+ private DeviceConfiguration config;
/**
* Creates an ArpHandler object.
@@ -52,7 +52,7 @@
*/
public ArpHandler(SegmentRoutingManager srManager) {
this.srManager = srManager;
- this.config = checkNotNull(srManager.networkConfigHandler);
+ this.config = checkNotNull(srManager.deviceConfiguration);
}
/**
@@ -96,8 +96,8 @@
// ARP request for router
if (isArpReqForRouter(deviceId, arpRequest)) {
Ip4Address targetAddress = Ip4Address.valueOf(arpRequest.getTargetProtocolAddress());
- sendArpResponse(arpRequest, config.getRouterMac(targetAddress));
+ sendArpResponse(arpRequest, config.getRouterMacForAGatewayIp(targetAddress));
// ARP request for known hosts
} else if (srManager.hostService.getHost(targetHostId) != null) {
MacAddress targetMac = srManager.hostService.getHost(targetHostId).mac();
@@ -111,7 +111,7 @@
private boolean isArpReqForRouter(DeviceId deviceId, ARP arpRequest) {
- List<Ip4Address> gatewayIpAddresses = config.getGatewayIpAddress(deviceId);
+ List<Ip4Address> gatewayIpAddresses = config.getSubnetGatewayIps(deviceId);
if (gatewayIpAddresses != null) {
Ip4Address targetProtocolAddress = Ip4Address.valueOf(arpRequest
.getTargetProtocolAddress());
@@ -123,7 +123,7 @@
}
private boolean isArpReqForSubnet(DeviceId deviceId, ARP arpRequest) {
- return config.getSubnetInfo(deviceId).stream()
+ return config.getSubnets(deviceId).stream()
.anyMatch((prefix)->
prefix.contains(Ip4Address.
valueOf(arpRequest.
@@ -139,9 +139,8 @@
*/
public void sendArpRequest(DeviceId deviceId, IpAddress targetAddress, ConnectPoint inPort) {
- byte[] senderMacAddress = config.getRouterMacAddress(deviceId).toBytes();
- byte[] senderIpAddress = config.getRouterIpAddress(deviceId)
- .getIp4Prefix().address().toOctets();
+ byte[] senderMacAddress = config.getDeviceMac(deviceId).toBytes();
+ byte[] senderIpAddress = config.getRouterIp(deviceId).toOctets();
ARP arpRequest = new ARP();
arpRequest.setHardwareType(ARP.HW_TYPE_ETHERNET)