Collection of all NorthBound API on OpenDayLight Controller. Remember POST/PUT action requires additional XML/Json data in requests. I have created Python SDK around it. Check it on https://github.com/nik-hil/ODL-REST-PythonSDK
1. Class
Usage Description
Topology
Retrieve the Topology
Retrieve the user configured links
Add an User Link
Delete an User Link
Host Tracker
Returns a host that matches the IP Address value
passed as parameter.
Add a Static Host configuration. If a host by the given
address already exists, this method will respond
Delete a Static Host configuration
with a non-successful status response
Returns a list of all Hosts : both configured via PUT
API and dynamically learnt on the network
Action Mount Point
Get
Get
PUT
Delete
/controller/nb/v2/topology/{containerName}
/controller/nb/v2/topology/{containerName}/userLinks
/controller/nb/v2/topology/{containerName}/userLink/{name}
/controller/nb/v2/topology/{containerName}/userLink/{name}
Get
/controller/nb/v2/hosttracker/{containerName}/address/{networkAddress}
Put
/controller/nb/v2/hosttracker/{containerName}/address/{networkAddress}
Delete /controller/nb/v2/hosttracker/{containerName}/address/{networkAddress}
Get
Returns a list of Hosts that are statically configured
and are connected to a NodeConnector that is down Get
Flow Programmer
Returns a list of Flows configured on the given
Returns a list of Flows configured on a Node in a
container
Returns the flow configuration matching a humangiven container
readable name and nodeId on a given Container.
Add or Modify a flow configuration. If the flow
exists already, it will replace the current flow.
Delete a Flow configuration
Toggle a Flow configuration
Static Routing
Get a list of static routes present on the given
Returns the static route for the provided
container.
configuration name on a given container
Add a new Static Route. If a route by the given name
already exists, this method will return a nonDelete a Static Route
successful status response.
Statistics Returns a list of all Flow Statistics from all the
Returns a list of all the Port Statistics across all the
Nodes.
NodeConnectors on all the Nodes.
Returns a list of all the Table Statistics on all Nodes.
Returns a list of Flow Statistics for a given Node.
Returns a list of all the Port Statistics across all the
NodeConnectors in a given Node.
Returns a list of all the Table Statistics on a specific
node.
Subnet
List all the subnets in a given container
List all the subnets in a given container
Add a subnet into the specified container context,
node connectors are optional
Delete a subnet from the specified container
context
Modify a subnet. Replace the existing subnet with
the new specified one. For now only port list
modification is allowed. If the respective subnet
configuration does not exist this call is equivalent to
a subnet creation.
Switch Manager
/controller/nb/v2/hosttracker/{containerName}/hosts/active
/controller/nb/v2/hosttracker/{containerName}/hosts/inactive
Get
Get
/controller/nb/v2/flowprogrammer/{containerName}
/controller/nb/v2/flowprogrammer/{containerName}/node/{nodeType}/{nodeId}
Get
/controller/nb/v2/flowprogrammer/{containerName}/node/{nodeType}/{nodeId}/staticFlow/{name}
Put
/controller/nb/v2/flowprogrammer/{containerName}/node/{nodeType}/{nodeId}/staticFlow/{name}
Delete /controller/nb/v2/flowprogrammer/{containerName}/node/{nodeType}/{nodeId}/staticFlow/{name}
Post
/controller/nb/v2/flowprogrammer/{containerName}/node/{nodeType}/{nodeId}/staticFlow/{name}
Get
Get
/controller/nb/v2/staticroute/{containerName}/routes
/controller/nb/v2/staticroute/{containerName}/route/{route}
Put
/controller/nb/v2/staticroute/{containerName}/route/{route}
Delete /controller/nb/v2/staticroute/{containerName}/route/{route}
Get
/controller/nb/v2/statistics/{containerName}/flow
Get
Get
Get
/controller/nb/v2/statistics/{containerName}/port
/controller/nb/v2/statistics/{containerName}/table
/controller/nb/v2/statistics/{containerName}/flow/node/{nodeType}/{nodeId}
Get
Get
/controller/nb/v2/statistics/{containerName}/port/node/{nodeType}/{nodeId}
/controller/nb/v2/statistics/{containerName}/table/node/{nodeType}/{nodeId}
Get
Get
/controller/nb/v2/subnetservice/{containerName}/subnets
/controller/nb/v2/subnetservice/{containerName}/subnet/{subnetName}
Put
/controller/nb/v2/subnetservice/{containerName}/subnet/{subnetName}
Delete /controller/nb/v2/subnetservice/{containerName}/subnet/{subnetName}
Post
/controller/nb/v2/subnetservice/{containerName}/subnet/{subnetName}