diff options
Diffstat (limited to 'vbd/gui/module/src/main/resources/vpp/services')
3 files changed, 123 insertions, 6 deletions
diff --git a/vbd/gui/module/src/main/resources/vpp/services/bdm.bridgedomain.service.js b/vbd/gui/module/src/main/resources/vpp/services/bdm.bridgedomain.service.js index 9316cbff7..5d3b69632 100644 --- a/vbd/gui/module/src/main/resources/vpp/services/bdm.bridgedomain.service.js +++ b/vbd/gui/module/src/main/resources/vpp/services/bdm.bridgedomain.service.js @@ -5,10 +5,57 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -define(['app/vpp/vpp.module', 'next'], function(vpp) { - vpp.register.factory('bdmBridgeDomainService', function(VPPRestangular, VPPRestangularXml) { +define(['app/vpp/vpp.module'], function(vpp) { + vpp.register.factory('bdmBridgeDomainService', function(VPPRestangular) { var s = {}; + var BridgeDomain = function(topologyId) { + this['topology-id'] = topologyId || null; + this['topology-types'] = { + 'vbridge-topology:vbridge-topology': {} + }; + this['underlay-topology'] = [ + { + 'topology-ref': 'topology-netconf' + } + ]; + this['vbridge-topology:tunnel-type'] = 'tunnel-type-vxlan'; + this['vbridge-topology:vxlan'] = { + 'vni': '1' + }; + this['vbridge-topology:flood'] = "true", + this['vbridge-topology:forward'] = "true", + this['vbridge-topology:learn'] = "true", + this['vbridge-topology:unknown-unicast-flood'] = "true", + this['vbridge-topology:arp-termination'] = "false" + }; + + s.createObj = function(topologyId) { + return new BridgeDomain(topologyId); + }; + + s.add = function(bridgeDomain, successCallback, errorCallback) { + var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology').one('topology').one(bridgeDomain['topology-id']); + var dataObj = {'topology': [bridgeDomain]}; + + restObj.customPUT(dataObj).then(function(data) { + successCallback(data); + }, function(res) { + errorCallback(res.data, res.status); + }); + }; + + s.get = function(successCallback, errorCallback) { + var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology'); + + restObj.get().then(function(data) { + successCallback(data); + }, function(res) { + errorCallback(res.data, res.status); + }); + }; + + return s; }); });
\ No newline at end of file diff --git a/vbd/gui/module/src/main/resources/vpp/services/bdm.interface.service.js b/vbd/gui/module/src/main/resources/vpp/services/bdm.interface.service.js index 9dca2d29d..341fb5d48 100644 --- a/vbd/gui/module/src/main/resources/vpp/services/bdm.interface.service.js +++ b/vbd/gui/module/src/main/resources/vpp/services/bdm.interface.service.js @@ -5,10 +5,43 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -define(['app/vpp/vpp.module', 'next'], function(vpp) { - vpp.register.factory('bdmInterfaceService', function(VPPRestangular, VPPRestangularXml) { +define(['app/vpp/vpp.module'], function(vpp) { + vpp.register.factory('bdmInterfaceService', function(VPPRestangular) { var s = {}; + var Interface = function(tpId, interfaceName) { + this['tp-id'] = tpId || null; + this['vbridge-topology:user-interface'] = interfaceName; + }; + + s.createObj = function(tpId, interfaceName) { + return new Interface(tpId, interfaceName); + }; + + s.add = function(interface, bridgeDomainId, vppId, successCallback, errorCallback) { + var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology') + .one('topology').one(bridgeDomainId).one('node').one(vppId).one('termination-point').one(interface['tp-id']); + var dataObj = {'termination-point': [interface]}; + + restObj.customPUT(dataObj).then(function(data) { + successCallback(data); + }, function(res) { + errorCallback(res.data, res.status); + }); + }; + + s.get = function(bridgeDomainId, vppId, successCallback, errorCallback) { + var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology') + .one('topology').one(bridgeDomainId).one('node').one(vppId); + + restObj.get().then(function(data) { + successCallback(data); + }, function(res) { + errorCallback(res.data, res.status); + }); + }; + + return s; }); });
\ No newline at end of file diff --git a/vbd/gui/module/src/main/resources/vpp/services/bdm.vpp.service.js b/vbd/gui/module/src/main/resources/vpp/services/bdm.vpp.service.js index 5a23d831c..b817a75a3 100644 --- a/vbd/gui/module/src/main/resources/vpp/services/bdm.vpp.service.js +++ b/vbd/gui/module/src/main/resources/vpp/services/bdm.vpp.service.js @@ -5,10 +5,47 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -define(['app/vpp/vpp.module', 'next'], function(vpp) { - vpp.register.factory('bdmVppService', function(VPPRestangular, VPPRestangularXml) { +define(['app/vpp/vpp.module'], function(vpp) { + vpp.register.factory('bdmVppService', function(VPPRestangular) { var s = {}; + var Vpp = function(nodeId, vppId) { + this['node-id'] = nodeId || null; + this['supporting-node'] = [ + { + 'topology-ref': 'topology-netconf', + 'node-ref': vppId + } + ]; + this['netconf-node-topology:pass-through'] = {}; + }; + + s.createObj = function(nodeId, vppId) { + return new Vpp(nodeId, vppId); + }; + + s.add = function(vpp, bridgeDomainId, successCallback, errorCallback) { + var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology').one('topology').one(bridgeDomainId).one('node').one(vpp['node-id']); + var dataObj = {'node': [vpp]}; + + restObj.customPUT(dataObj).then(function(data) { + successCallback(data); + }, function(res) { + errorCallback(res.data, res.status); + }); + }; + + s.get = function(bridgeDomainId, successCallback, errorCallback) { + var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology').one('topology').one(bridgeDomainId); + + restObj.get().then(function(data) { + successCallback(data); + }, function(res) { + errorCallback(res.data, res.status); + }); + }; + + return s; }); });
\ No newline at end of file |