/** * Returns an Service Function Forwarder object which can be stored * in DataStore. The returned object is built on basis of OVS Bridge. * The ovsdbBridgeAugmentation argument must be not null otherwise * NullPointerException will be raised. * * @param nodeName * @param nnode Netconf node Object * @return ServiceFunctionForwarder Object */ public static ServiceFunctionForwarder buildServiceForwarderFromNetconf(String nodeName, NetconfNode nnode) { Preconditions.checkNotNull(nnode); SffName sffName = new SffName(nodeName); SffDataPlaneLocatorBuilder sffDataPlaneLocatorBuilder = new SffDataPlaneLocatorBuilder(); // TODO: should be replaced once OVS interface name will be available List<SffDataPlaneLocator> sffDataPlaneLocatorList = new ArrayList<>(); sffDataPlaneLocatorList.add(sffDataPlaneLocatorBuilder.build()); ServiceFunctionForwarderBuilder serviceFunctionForwarderBuilder = new ServiceFunctionForwarderBuilder(); serviceFunctionForwarderBuilder.setName(sffName); IpAddress ipAddress = new IpAddress(nnode.getHost().getIpAddress().getValue()); serviceFunctionForwarderBuilder.setIpMgmtAddress(ipAddress); return serviceFunctionForwarderBuilder.build(); }
SffDataPlaneLocatorBuilder sffDplBuilder = new SffDataPlaneLocatorBuilder(); DataPlaneLocatorBuilder dplBuilder = new DataPlaneLocatorBuilder();
SffDataPlaneLocatorKey key = new SffDataPlaneLocatorKey(name); SffDataPlaneLocator loc = new SffDataPlaneLocatorBuilder().setDataPlaneLocator(dpl).setKey(key).setName(name).build(); ServiceFunctionForwarderBuilder fb = new ServiceFunctionForwarderBuilder(serviceFunctionForwarder); fb.getSffDataPlaneLocator().add(loc);