Segment Routing refactoring
- Change name: McastEventHandler -> McastHandler
- Separate HostHandler from SRManager
- Move storekeys to a dedicated package
- Replace SRObjevtiveContext and BridgeTableObjectiveContext with DefaultObjectiveContext
Change-Id: Iab25529487004759105e5ba60c1d2a3852ac45e6
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/NetworkConfigEventHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/NetworkConfigEventHandler.java
index 0c3fac7..d0f6fc4 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/NetworkConfigEventHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/NetworkConfigEventHandler.java
@@ -23,7 +23,9 @@
import org.onosproject.net.device.DeviceService;
import org.onosproject.net.flow.criteria.Criteria;
import org.onosproject.net.flowobjective.DefaultFilteringObjective;
+import org.onosproject.net.flowobjective.DefaultObjectiveContext;
import org.onosproject.net.flowobjective.FilteringObjective;
+import org.onosproject.net.flowobjective.ObjectiveContext;
import org.onosproject.segmentrouting.config.DeviceConfigNotFoundException;
import org.onosproject.segmentrouting.config.SegmentRoutingAppConfig;
import org.slf4j.Logger;
@@ -117,9 +119,11 @@
return;
}
getVRouterFlowObjBuilders(pendingAdd).forEach(foBuilder -> {
- srManager.flowObjectiveService.
- filter(deviceId, foBuilder.add(new SRObjectiveContext(deviceId,
- SRObjectiveContext.ObjectiveType.FILTER)));
+ ObjectiveContext context = new DefaultObjectiveContext(
+ (objective) -> log.debug("vRouterMac filter for {} populated", pendingAdd),
+ (objective, error) ->
+ log.warn("Failed to populate vRouterMac filter for {}: {}", pendingAdd, error));
+ srManager.flowObjectiveService.filter(deviceId, foBuilder.add(context));
});
}
@@ -128,9 +132,11 @@
return;
}
getVRouterFlowObjBuilders(pendingRemove).forEach(foBuilder -> {
- srManager.flowObjectiveService.
- filter(deviceId, foBuilder.remove(new SRObjectiveContext(deviceId,
- SRObjectiveContext.ObjectiveType.FILTER)));
+ ObjectiveContext context = new DefaultObjectiveContext(
+ (objective) -> log.debug("vRouterMac filter for {} revoked", pendingRemove),
+ (objective, error) ->
+ log.warn("Failed to revoke vRouterMac filter for {}: {}", pendingRemove, error));
+ srManager.flowObjectiveService.filter(deviceId, foBuilder.remove(context));
});
}