private ObjectNode getSffDataPlaneLocatorObjectNode(SffDataPlaneLocator sffDataPlaneLocator) { if (sffDataPlaneLocator == null) { return null; } ObjectNode sffDataPlaneLocatorNode = mapper.createObjectNode(); sffDataPlaneLocatorNode.put(_NAME, sffDataPlaneLocator.getName().getValue()); sffDataPlaneLocatorNode.put(_DATA_PLANE_LOCATOR, ExporterUtil.getDataPlaneLocatorObjectNode(sffDataPlaneLocator.getDataPlaneLocator())); sffDataPlaneLocatorNode.put(SERVICE_FUNCTION_FORWARDER_PREFIX + _OVS_BRIDGE, this.getSffDataPlaneLocatorOvsBridgeObjectNode(sffDataPlaneLocator)); return sffDataPlaneLocatorNode; }
protected static ObjectNode getSffSfDataPlaneLocatorObjectNode(SffSfDataPlaneLocator sffSfDpl) { if (sffSfDpl == null) { return null; } ObjectMapper mapper = new ObjectMapper(); ObjectNode sffSfDplNode = mapper.createObjectNode(); if(sffSfDpl.getSfDplName() != null) { sffSfDplNode.put(_SF_DPL_NAME, sffSfDpl.getSfDplName().getValue()); } if(sffSfDpl.getSffDplName() != null) { sffSfDplNode.put(_SFF_DPL_NAME, sffSfDpl.getSffDplName().getValue()); } return sffSfDplNode; }
/** * Builds a list of OvsdbTerminationPointAugmentation from a list of SffDataPlanLocators. * In other words, it transforms ServiceForwarder DataPlane locators to OVS TerminationPoints. * <p> * Built list of augmentations is intended to be written into Configuration Ovsdb DataStore * (network-topology/topology/ovsdb:1). * <p> * * @param sffDataPlaneLocatorList List<SffDataPlaneLocator> * @return List<OvsdbTerminationPointAugmentation> */ public static List<OvsdbTerminationPointAugmentation> buildTerminationPointAugmentationList( List<SffDataPlaneLocator> sffDataPlaneLocatorList) { Preconditions.checkNotNull(sffDataPlaneLocatorList, "Cannot build TerminationPointAugmentation, SffDataPlaneLocatorList is null."); List<OvsdbTerminationPointAugmentation> ovsdbTerminationPointList = new ArrayList<>(); for (SffDataPlaneLocator sffDataPlaneLocator : sffDataPlaneLocatorList) { OvsdbTerminationPointAugmentationBuilder ovsdbTerminationPointBuilder = new OvsdbTerminationPointAugmentationBuilder(); ovsdbTerminationPointBuilder.setName(sffDataPlaneLocator.getName().getValue()); ovsdbTerminationPointBuilder .setInterfaceType(getDataPlaneLocatorInterfaceType(sffDataPlaneLocator.getDataPlaneLocator())); List<Options> optionsList = getSffDataPlaneLocatorOptions(sffDataPlaneLocator); if (!optionsList.isEmpty()) { ovsdbTerminationPointBuilder.setOptions(optionsList); } ovsdbTerminationPointList.add(ovsdbTerminationPointBuilder.build()); } return ovsdbTerminationPointList; }
SffDataPlaneLocator1 sffdpl1 = sffdpl.getAugmentation(SffDataPlaneLocator1.class); OfsPort ofsPort = sffdpl1.getOfsPort(); if (sffdplName.getValue().toUpperCase().equals("INGRESS")) sfcDataList[0] = nodeId + ":" + ofsPort.getPortId(); else if (sffdplName.getValue().toUpperCase().equals("EGRESS")) sfcDataList[1] = nodeId + ":" + ofsPort.getPortId();
ServiceFunctionForwarderKey sffKey = (ServiceFunctionForwarderKey) keyedInstanceIdentifier.getKey(); String sffNameAsString = sffKey.getName().getValue(); String sffDataPlaneLocatorNameAsString = sffDataPlaneLocator.getName().getValue();