+
+ Map<InstanceIdentifier<?>, DataObject> originalDataObject = change.getOriginalData();
+ Set<InstanceIdentifier<?>> iID = change.getRemovedPaths();
+ for (InstanceIdentifier instanceIdentifier : iID) {
+ DataObject dObject = originalDataObject.get(instanceIdentifier);
+ if (dObject instanceof ServiceFunctionPath) {
+ ServiceFunctionPath serviceFunctionPath = (ServiceFunctionPath) dataObject;
+ logger.trace("\nOVSSFC DELETE: sfp:\n {}", serviceFunctionPath.toString());
+
+ OvsSfcProvider.getOvsSfcProvider().eventHandler.enqueueSfpEvent(SfcEvent.Action.DELETE, serviceFunctionPath);
+ }
+ }
+
+ dataObject = change.getUpdatedData();
+ for (Map.Entry<InstanceIdentifier<?>, DataObject> entry : dataObject.entrySet()) {
+ if (entry.getValue() instanceof ServiceFunctionPaths) {
+ ServiceFunctionPaths updatedServiceFunctionPaths = (ServiceFunctionPaths) entry.getValue();
+ logger.trace("\nOVSSFC UPDATE: sfps:\n {}", updatedServiceFunctionPaths.toString());
+
+ OvsSfcProvider.getOvsSfcProvider().eventHandler.enqueueSfpsEvent(SfcEvent.Action.UPDATE, updatedServiceFunctionPaths);
+ }
+ }