private void changeSfcRsp() { ParameterValue newPv = getChainNameParameter(actionInstance.getParameterValue()); ParameterValue origPv = getChainNameParameter(originalInstance.getParameterValue()); if (!newPv.getStringValue().equals(origPv.getStringValue())) { if (rspMap.containsKey(origPv.getStringValue())) { /* * Flow cleanup will happen as part of the * resolved policy * * TODO: can we guarantee that this * happens after we remove the RSP?). */ rspMap.remove(origPv.getStringValue()); } addSfcRsp(); } }
private void deleteSfcRsp() { ParameterValue pv = getChainNameParameter(originalInstance.getParameterValue()); if (pv == null) return; rspMap.remove(pv.getStringValue()); }
private List<String> getSymetricChainNames(ActionInstance action) { List<String> chainNames = new ArrayList<>(); for (ParameterValue param : action.getParameterValue()) { if (param.getStringValue() != null && param.getName().getValue().equals(ChainActionDefinition.SFC_CHAIN_NAME)) { String chainName = param.getStringValue(); ServiceFunctionPath sfcPath = ChainAction.getSfcPath(new SfcName(chainName)); if (sfcPath == null || sfcPath.getName() == null) { continue; } if (sfcPath.isSymmetric()) { chainNames.add(param.getStringValue()); } } } return chainNames; }
if (pv == null) return; LOG.trace("Invoking RPC for chain {}", pv.getStringValue()); ReadRenderedServicePathFirstHopInputBuilder builder = new ReadRenderedServicePathFirstHopInputBuilder() .setName(pv.getStringValue()); result.get(); if (output.isSuccessful()) { LOG.trace("RPC for chain {} succeeded!", pv.getStringValue()); RenderedServicePathFirstHop rspFirstHop = output.getResult().getRenderedServicePathFirstHop(); rspMap.putIfAbsent(pv.getStringValue(), rspFirstHop);
private void getSfcChain() { ParameterValue pv = getChainNameParameter(actionInstance.getParameterValue()); if (pv == null) return; LOG.trace("Invoking RPC for chain {}", pv.getStringValue()); SfcName chainName=new SfcName(pv.getStringValue()); ServiceFunctionChain chain = SfcProviderServiceChainAPI.readServiceFunctionChain(chainName); ServiceFunctionPaths paths = SfcProviderServicePathAPI.readAllServiceFunctionPaths(); for(ServiceFunctionPath path: paths.getServiceFunctionPath()) { if(path.getServiceChainName().equals(chainName)) { LOG.info("Found path {} for chain {}",path.getName(),path.getServiceChainName()); } } } }
private ValidationResult isValidGbpChain(List<ParameterValue> paramValue) { ParameterValue pv = getChainNameParameter(paramValue); if (pv == null) { return new ValidationResultBuilder().failed().setMessage( "Chain parameter {" + paramValue + "} not found!").build(); } SfcName sfcName = new SfcName(pv.getStringValue()); LOG.trace("isValidGbpChain: Invoking RPC for chain {}", pv.getStringValue()); ServiceFunctionChain chain = SfcProviderServiceChainAPI.readServiceFunctionChain(sfcName); if (chain != null){ return new ValidationResultBuilder().success().build(); } else { return new ValidationResultBuilder().failed().setMessage( "Chain named {" + pv.getStringValue() + "} not found in config DS.").build(); } }
for (ParameterValue v : ci.getParameterValue()) { if (paramsFromClassifier.get(v.getName().getValue()) == null) { if (v.getIntValue() != null || v.getStringValue() != null || v.getRangeValue() != null) { paramsFromClassifier.put(v.getName().getValue(), v);
if (v.getIntValue() != null) { params.put(v.getName().getValue(), v.getIntValue()); } else if (v.getStringValue() != null) { params.put(v.getName().getValue(), v.getStringValue());
pBuilder.setName(new Name(instance.getName().getValue())); pBuilder.setStringValue(instance.getStringValue()); if (instance.getRangeValue() != null) { RangeValueBuilder rBuilder = new RangeValueBuilder().setMax(
pBuilder.setIntValue(instance.getIntValue()); pBuilder.setName(new Name(instance.getName().getValue())); pBuilder.setStringValue(instance.getStringValue()); if (instance.getRangeValue() != null) { RangeValueBuilder rBuilder = new RangeValueBuilder().setMax(