ovsdriver
Nodejs OpenVSwitch utility wrapper , provides the API for OpenVSwitch operations.
Currently it supports the following OpenVSwitch functionalities
- Create a Bridge
- Add Interface to the Bridge
- Set the SDN Controller IP to the Bridge
- Set the Openflow protocol version to the Bridge
- Set the Datapath id to the Bridge
- Enable the Bridge
- Disable the Bridge
- Delete the Bridge
- Get the Status of the Bridge
API Details :
All the API returns true on success case , false on failure case.
-
createBridge : (bridgname, callback)
bridgename is the input. Example "switch1" -
addInterface : (bridgname,ifname,callback)
bridgename and ifname is the input. Example ifname is "veth1" -
setController : (bridgename , controllerip, callback)
controller IP should be in full format protocol::portnumber
Example: "tcp:0.0.0.0:6633" -
setOFVersion: (bridgename, versionno, callback)
versionno should be in 1.0 or 1.1 or 1.2 or 1.3 -
setDPid : (bridgename,dpid, callback)
dpid should be 16digit.
Example = "0000000000000001" -
enableBridge : (bridgname, callback)
-
disableBridge : (bridgname , callback)
-
deleteBridge : (bridgename, callback)
-
getStatus: (bridgename, callback)
returns "running" or "notrunning"
Program Example
written in coffeescript.
This is just indicative program to demonstrate functionality . It cannot run as it is.
ovs = require('ovsdriver')
ovs.createBridge "sw1", (result) =>
util.log "Bridge creation " + result
ovs.addInterface "sw1", "veth1",(result) =>
util.log "AddInterface result", result
This driver is used in Kaanalnet application to manage ovs, https://github.com/sureshkvl/kaanalnet/blob/master/src/builder/switchCtrl.coffee