Optimized group updating during host move
In addition,
- Added a fix for host remove issue
- Added a fix for single homed (loc1) to dual homed (loc2).
Change-Id: I1a7344bd77f73d6bed8955dcdbf407b5354d0eee
diff --git a/app/src/main/java/org/onosproject/segmentrouting/HostHandler.java b/app/src/main/java/org/onosproject/segmentrouting/HostHandler.java
index 296fbcd..14df622 100644
--- a/app/src/main/java/org/onosproject/segmentrouting/HostHandler.java
+++ b/app/src/main/java/org/onosproject/segmentrouting/HostHandler.java
@@ -129,6 +129,15 @@
});
}
});
+
+ int nextId = srManager.getMacVlanNextObjectiveId(location.deviceId(), hostMac, hostVlanId, null, false);
+ if (nextId != -1) {
+ VlanId vlanId = Optional.ofNullable(srManager.getInternalVlanId(location)).orElse(hostVlanId);
+ log.debug(" Updating next objective for device {}, host {}/{}, port {}, nextid {}",
+ location.deviceId(), hostMac, vlanId, location.port(), nextId);
+ srManager.updateMacVlanTreatment(location.deviceId(), hostMac, vlanId,
+ location.port(), nextId);
+ }
}
void processHostRemovedEvent(HostEvent event) {
@@ -181,6 +190,7 @@
}
});
});
+
});
}