if (sff.getName() != null) { sffNode.put(_NAME, sff.getName().getValue()); if (sff.getIpMgmtAddress() != null) { sffNode.put(_IP_MGMT_ADDRESS, ExporterUtil.convertIpAddress(sff.getIpMgmtAddress())); if (sff.getRestUri() != null) { sffNode.put(_REST_URI, sff.getRestUri().getValue()); if (sff.getServiceNode() != null) { sffNode.put(_SERVICE_NODE, sff.getServiceNode().getValue()); if (sff.getSffDataPlaneLocator() != null) { ArrayNode locatorArray = mapper.createArrayNode(); for (SffDataPlaneLocator sffDataPlaneLocator : sff.getSffDataPlaneLocator()) { locatorArray.add(this.getSffDataPlaneLocatorObjectNode(sffDataPlaneLocator)); if (sff.getServiceFunctionDictionary() != null) { ArrayNode dictionaryArray = mapper.createArrayNode(); for (ServiceFunctionDictionary serviceFunctionDictionary : sff.getServiceFunctionDictionary()) { dictionaryArray.add(this.getSfDictionaryObjectNode(serviceFunctionDictionary)); LOG.debug("Created Service Function Forwarder JSON: {}", ret); } catch (JsonProcessingException e) { LOG.error("Error during creation of JSON for Service Function Forwarder {}", sff.getName());
public String getSystemId (ServiceFunctionForwarder serviceFunctionForwarder) { String systemId = ""; List<ExternalIds> externalIds = serviceFunctionForwarder.getAugmentation(ServiceFunctionForwarder1.class).getOvs().getExternalIds(); for (ExternalIds externalId : externalIds) { if (externalId.getName().equals("system-id")) { systemId = externalId.getValue(); } } logger.trace("\nOVSSFC {}\n system-id: {}", Thread.currentThread().getStackTrace()[1], systemId); return systemId; } }
public void addServiceFunctionForwarder(ServiceFunctionForwarder sff) { InstanceIdentifier<ServiceFunctionForwarder> sffIid = getSFFPath(sff.getKey()); LOG.info("Write Service Function Forwarder {} to config data store at {}",sff, sffIid); mdsalPutWrapper(LogicalDatastoreType.CONFIGURATION, sffIid, sff); }
@Override protected void setRestUriList(DataObject dataObject) { ServiceFunctionForwarder obj = (ServiceFunctionForwarder) dataObject; if (obj.getRestUri() != null) { SffName sffName = obj.getName(); if (sffName != null) { String restUri = obj.getRestUri().getValue() + SFF_REST_URI + sffName.getValue(); this.restUriList = new ArrayList<>(); this.restUriList.add(restUri); LOG.info("SFF will be send to REST URI {}", restUri); } } else { this.restUriList = null; } }
public Ip getSffIp(ServiceFunctionForwarder serviceFunctionForwarder) { if (serviceFunctionForwarder != null && serviceFunctionForwarder.getSffDataPlaneLocator() != null && serviceFunctionForwarder.getSffDataPlaneLocator().get(0) != null && serviceFunctionForwarder.getSffDataPlaneLocator().get(0).getDataPlaneLocator() != null) { return (Ip)serviceFunctionForwarder.getSffDataPlaneLocator().get(0) .getDataPlaneLocator().getLocatorType(); } else { LOG.info("getSffIp: ServiceFunctionForwarder is null"); return null; } }
ServiceFunctionForwarder originalServiceFunctionForwarder = (ServiceFunctionForwarder) entry.getValue(); LOG.debug("Original SFF: {}", originalServiceFunctionForwarder.getName()); serviceFunctionForwarder.getName()); SffName sffName = serviceFunctionForwarder.getName(); List<RspName> rspList = new ArrayList<>(); List<SffServicePath> sffServicePathList = SfcProviderServiceForwarderAPI.readSffState(sffName); (ServiceFunctionForwarder) entry.getValue(); SffVxlanClassifierType1 sffVxlanOverlayClassifierType1 = createdServiceFunctionForwarder.getAugmentation(SffVxlanClassifierType1.class); if (sffVxlanOverlayClassifierType1 != null) { VxlanClassifierType1 vxlanClassifierType1 = createdServiceFunctionForwarder.getName()); SffName sffName = serviceFunctionForwarder.getName(); LOG.debug("{}: SFF {} update", Thread.currentThread().getStackTrace()[1], sffName); List<SffServicePath> sffServicePathList = SfcProviderServiceForwarderAPI.readSffState(sffName);
sffName = serviceFunctionForwarder.getName(); sfcProviderGraph.addNode(sffName.getValue()); LOG.debug("Add ServiceFunctionForwarder: {}", sffName); serviceFunctionForwarder.getServiceFunctionDictionary(); serviceFunctionForwarder.getConnectedSffDictionary();
@Override public String exportJsonNameOnly(DataObject dataObject) { String ret = null; if (dataObject instanceof ServiceFunctionForwarder) { ServiceFunctionForwarder obj = (ServiceFunctionForwarder) dataObject; ObjectNode node = mapper.createObjectNode(); node.put(_NAME, obj.getName().getValue()); ArrayNode sffArray = mapper.createArrayNode(); sffArray.add(node); ret = "{\"" + _SERVICE_FUNCTION_FORWARDER + "\":" + sffArray.toString() + "}"; } else { throw new IllegalArgumentException("Argument is not an instance of ServiceFunctionForwarder"); } return ret; }
ServiceFunctionForwarder sff = sfcMdsalHelper.readServiceFunctionForwarder(sffKey); if (sff != null) { List<ServiceFunctionDictionary> sfDictionary = sff.getServiceFunctionDictionary(); if (sfDictionary != null) { ServiceFunctionDictionary matchingSfd = null;
public ServiceFunctionForwarder getExistingSFF(String ipAddress) { ServiceFunctionForwarders existingSffs = mdsalUtils.read(LogicalDatastoreType.CONFIGURATION, sffIid); if (existingSffs != null && existingSffs.getServiceFunctionForwarder() != null && !existingSffs.getServiceFunctionForwarder().isEmpty()) { List<ServiceFunctionForwarder> existingSffList = existingSffs.getServiceFunctionForwarder(); for (ServiceFunctionForwarder sff : existingSffList) { if (sff.getIpMgmtAddress().getIpv4Address().equals(new Ipv4Address(ipAddress))) { return sff; } } } return null; }
public boolean containsLispAddress(ServiceFunctionForwarder serviceFunctionForwarder) { List<SffDataPlaneLocator> locations = serviceFunctionForwarder.getSffDataPlaneLocator(); for (SffDataPlaneLocator location : locations) { if (location.getDataPlaneLocator().getLocatorType() instanceof Lisp) { return true; } } return false; }
serviceFunctionForwarder.getAugmentation(SffOvsBridgeAugmentation.class); if (serviceForwarderOvsBridgeAugmentation != null) { OvsBridge serviceForwarderOvsBridge = serviceForwarderOvsBridgeAugmentation.getOvsBridge(); } else { LOG.info("Cannot build OvsdbBridgeAugmentation. Missing OVS Bridge augmentation on SFF {}", serviceFunctionForwarder.getName()); return null; serviceFunctionForwarder.getName()); return null; serviceFunctionForwarder.getAugmentation(SffOvsNodeAugmentation.class); if (serviceForwarderOvsNodeAugmentation != null) { OvsNode serviceForwarderOvsNode = serviceForwarderOvsNodeAugmentation.getOvsNode(); serviceFunctionForwarder.getName()); return null; if (node == null || node.getNodeId() == null) { LOG.info("Cannot build OvsdbBridgeAugmentation. Missing OVS Node augmentation on SFF {}", serviceFunctionForwarder.getName()); return null;
ServiceFunctionForwarder originalServiceFunctionForwarder = (ServiceFunctionForwarder) entry.getValue(); LOG.debug("\n########## Original Sff: {}", originalServiceFunctionForwarder.getName()); if (entry.getValue() instanceof ServiceFunctionForwarder) { ServiceFunctionForwarder createdServiceFunctionForwarder = (ServiceFunctionForwarder) entry.getValue(); LOG.debug("Created Service Function Forwarder Name: {}", createdServiceFunctionForwarder.getName()); && (!dataCreatedObject.containsKey(entry.getKey()))) { ServiceFunctionForwarder updatedServiceFunctionForwarder = (ServiceFunctionForwarder) entry.getValue(); LOG.debug("\nModified Service Function Forwarder Name: {}", updatedServiceFunctionForwarder.getName()); LOG.debug("\nDeleted Service Function Forwarder Name: {}", originalServiceFunctionForwarder.getName());
public ServiceFunctionForwarder updateLispData(ServiceFunctionForwarder serviceFunctionForwarder) { List<SffDataPlaneLocator> locations = serviceFunctionForwarder.getSffDataPlaneLocator(); Lisp lispLocation = getLispLocationFromSff(locations); if (lispLocation != null) { return updateLispData(lispLocation, serviceFunctionForwarder); } else { return serviceFunctionForwarder; } }
SffName sffName = sff.getName(); if(sffName != null ) { sfDataPlaneLocatorBuilder.setServiceFunctionForwarder(sffName);
public static void lispUpdateServiceFunctionForwarder(ServiceFunctionForwarder sff) { LOG.debug("\n####### Start: {}", Thread.currentThread().getStackTrace()[1]); if (OpendaylightSfc.getOpendaylightSfcObj().getDataProvider() != null) { sff = LispUpdater.getLispUpdaterObj().updateLispData(sff); InstanceIdentifier<ServiceFunctionForwarder> sffEntryIID = InstanceIdentifier.builder(ServiceFunctionForwarders.class) .child(ServiceFunctionForwarder.class, sff.getKey()).build(); WriteTransaction writeTx = OpendaylightSfc.getOpendaylightSfcObj().getDataProvider().newWriteOnlyTransaction(); writeTx.merge(LogicalDatastoreType.CONFIGURATION, sffEntryIID, sff, true); writeTx.submit(); } LOG.debug("\n########## Stop: {}", Thread.currentThread().getStackTrace()[1]); }
serviceFunctionForwarder.getAugmentation(SffOvsBridgeAugmentation.class); if (serviceForwarderOvsBridgeAugmentation == null) { LOG.warn("No SffOvsBridgeAugmentation for Service Function Forwarder {}", serviceFunctionForwarder);
private static void createHopBuilderInternal(int serviceIndex, RenderedServicePathHopBuilder renderedServicePathHopBuilder, short posIndex, ServiceFunction serviceFunction) { SffName serviceFunctionForwarderName = serviceFunction.getSfDataPlaneLocator().get(0).getServiceFunctionForwarder(); ServiceFunctionForwarder serviceFunctionForwarder = SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(serviceFunctionForwarderName); if (serviceFunctionForwarder != null && serviceFunctionForwarder.getSffDataPlaneLocator() != null && serviceFunctionForwarder.getSffDataPlaneLocator().get(0) != null) { renderedServicePathHopBuilder .setServiceFunctionForwarderLocator(serviceFunctionForwarder.getSffDataPlaneLocator().get(0).getName()); } renderedServicePathHopBuilder.setHopNumber(posIndex) .setServiceIndex((short) serviceIndex) .setServiceFunctionForwarder(serviceFunctionForwarderName); }
/** * This method creates a SFF in the data store * <p> * * @param sff SFF object * @return true if SFF was created, false otherwise */ public static boolean putServiceFunctionForwarder(ServiceFunctionForwarder sff) { boolean ret; printTraceStart(LOG); InstanceIdentifier<ServiceFunctionForwarder> sffEntryIID = InstanceIdentifier .builder(ServiceFunctionForwarders.class).child(ServiceFunctionForwarder.class, sff.getKey()).build(); ret = SfcDataStoreAPI.writePutTransactionAPI(sffEntryIID, sff, LogicalDatastoreType.CONFIGURATION); printTraceStop(LOG); return ret; }
SffOvsBridgeAugmentation sffOvsBrAug = sff.getAugmentation(SffOvsBridgeAugmentation.class); if (sffOvsBrAug != null) { sffOvsBrAugBuilder = new SffOvsBridgeAugmentationBuilder(sffOvsBrAug);