public Ip getSffIp(SffName sffName) { ServiceFunctionForwarder serviceFunctionForwarder = SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(sffName); return getSffIp(serviceFunctionForwarder); }
/** * This method searches for a data plane locator of a given name within a SFF * <p> * * @param sffName SFF name * @param sffLocatorName SFF data plane locator name * @return SffDataPlaneLocator object or null if not found */ public static SffDataPlaneLocator readServiceFunctionForwarderDataPlaneLocator(SffName sffName, SffDataPlaneLocatorName sffLocatorName) { ServiceFunctionForwarder serviceFunctionForwarder = readServiceFunctionForwarder(sffName); if (serviceFunctionForwarder != null) { List<SffDataPlaneLocator> sffDataPlaneLocatorList = serviceFunctionForwarder.getSffDataPlaneLocator(); for (SffDataPlaneLocator sffDataPlaneLocator : sffDataPlaneLocatorList) { if (sffDataPlaneLocator.getName().equals(sffLocatorName)) { return sffDataPlaneLocator; } } } else { LOG.error("{}: Failed to read SFF: {}", Thread.currentThread().getStackTrace()[1], sffName); } return null; }
private ArrayList<String> getRestUriListFromSclServiceForwarderList( List<SclServiceFunctionForwarder> sclServiceForwarderList, String aclName, java.lang.Class<? extends AclBase> aclType) { // rest uri list should be created from Classifier SFFs. Classifier will be taken from ACL ArrayList<String> sffRestUriList = new ArrayList<>(); if (sclServiceForwarderList != null && aclName != null && aclType != null ) { for (SclServiceFunctionForwarder sclServiceForwarder : sclServiceForwarderList) { SffName sffName = new SffName(sclServiceForwarder.getName()); ServiceFunctionForwarder serviceForwarder = SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(sffName); if (serviceForwarder != null && serviceForwarder.getRestUri() != null && !serviceForwarder.getRestUri().getValue().isEmpty()) { String restUri = serviceForwarder.getRestUri().getValue() + ACL_REST_URI + aclName; sffRestUriList.add(restUri); LOG.info("ACL will be send to REST URI {}", restUri); } } } return sffRestUriList.isEmpty() ? null : sffRestUriList; } }
@Override protected void setRestUriList(DataObject dataObject) { RenderedServicePath obj = (RenderedServicePath) dataObject; List<RenderedServicePathHop> hopList = obj.getRenderedServicePathHop(); this.restUriList = new ArrayList<>(); if (hopList != null) { for (RenderedServicePathHop hop : hopList) { ServiceFunctionForwarder sff = SfcProviderServiceForwarderAPI .readServiceFunctionForwarder(hop.getServiceFunctionForwarder()); if (sff != null && sff.getRestUri() != null) { RspName rspName = obj.getName(); if (rspName != null) { String restUri = sff.getRestUri().getValue() + RSP_REST_URI + rspName.getValue(); this.restUriList.add(restUri); LOG.info("RSP will be send to REST URI {}", restUri); } } } } if (this.restUriList != null && this.restUriList.isEmpty()) { this.restUriList = null; } } }
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); }
String nodeId = sfdpl.getServiceFunctionForwarder().getValue(); if (SfcProviderServiceForwarderAPI .readServiceFunctionForwarder(sfdpl.getServiceFunctionForwarder()) == null) continue; List<SffDataPlaneLocator> listOfSffdpl = SfcProviderServiceForwarderAPI .readServiceFunctionForwarder(sfdpl.getServiceFunctionForwarder()).getSffDataPlaneLocator(); for (SffDataPlaneLocator sffdpl : listOfSffdpl) { SffDataPlaneLocatorName sffdplName = sffdpl.getName();
.readServiceFunctionForwarder(hop.getServiceFunctionForwarder()); if (serviceFunctionForwarder == null) { LOG.warn("handleRenderedServicePath: Could not identify ServiceFunctionForwarder {} on {}",
SffDataPlaneLocatorName locatorName = hop.getServiceFunctionForwarderLocator(); SffName sffName = hop.getServiceFunctionForwarder(); ServiceFunctionForwarder sff = SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(sffName); if (sff == null) { LOG.warn("Couldn't find SFF {} that supports hop {} in datastore", sffName,
SffName sffName = hop.getServiceFunctionForwarder(); LOG.debug("Looking up SFF {}", sffName); ServiceFunctionForwarder sff = SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(sffName); if (sff == null) { LOG.warn("Couldn't find SFF {} in datastore", sffName);