Skip to content
This repository has been archived by the owner on Nov 13, 2023. It is now read-only.

JSON RPC API Interface

alshabib edited this page Apr 22, 2013 · 3 revisions

XML-RPC Interface deprecated

XML-RPC interface as of 1.0 is now deprecated. It is still included in FlowVisor, and as part of the upgrade procedure it is not touched, ie. it remains running on port 8080. But, that said, you are advised to update your procedure to the JSON API.

The fvctl utility for the XML-RPC interface is now called fvctl-xml

It's behaviour has not changed, but no further maintenance or updates to it will be made.

If you have installed a new version (ie. not upgraded an installed version). The XML-RPC interface is completely disabled. You can re-enable it by modifying your configuration file as should below:

"api_webserver_port": -1

to

"api_webserver_port": 8081

Then load you configuration file into FlowVisor by running:

fvconfig load config.json

and running fvctl-xml --url="https://<hostname>:8081" <command_you_want_to_run>

##JSON-RPC

The JSON RPC interface is the new interface. Please see API Changes for a description of the wire-protocol.

The fvctl utility has been adapted to work with the new API.

FVCTL

The fvctl program is a command line tool for configuring, debugging, monitoring, and administering running FlowVisor instances. It is able to show the current state of a FlowVisor, including features, configuration, and flowspace entries.

Every FlowVisor instance runs an JSONRPC server and accepts API calls as listed below. The tool fvctl is just a command-line client that invokes these calls. The expectation is that more user friendly (read: graphical) interfaces will evolve and eventually replace fvctl.

See manpage for more details (man fvctl)

OPTIONS

-h HOST, --hostname=HOST Specify the FlowVisor host; default='localhost'

-p PORT, --port=PORT Specify the FlowVisor web port; default=8080

-u FV_USER, --user=FV_USER FlowVisor admin user; default='fvadmin'

-f FV_PASSWDFILE, --passwd-file=FV_PASSWDFILE Password file; default=none

-v, --version

--help

COMMANDS

   add-flowspace
          Creates a flowspace rule

   add-slice
          Creates a new slice

   get-config
          Displays the general purpose FlowVisor config params

   list-datapath-info
          Displays information for a connected device

   list-datapath-stats
          Display statistics for a connected device

   list-datapaths
          Displays the devices

   list-flowspace
          Displays the flowspace

   list-fv-health
          Reports overall FlowVisor health

   list-links
          Display overall topology

   list-slice-health
          Reports overall slice health

   list-slice-info
          Displays slice information

   list-slice-stats
          Displays statistics about a slice

   list-slices
          Displays the configured slices

   list-version
          Displays FlowVisor version

   remove-flowspace
          Remove a flowspace rule

   remove-slice
          Deletes a slice

   save-config
          Saves Flowvisor's configuration

   set-config
          Sets general purpose FlowVisor config parameters

   update-admin-password
          Update admin password

   update-flowspace
          Changes flowspace rule parameters

   update-slice
          Changes slice parameters

   update-slice-password
          Updates slice password

   list-datapath-flowdb
          Displays the contents of the flow db if flow tracking is enabled

   list-datapath-flowrewritedb
          Displays the rewrites (or expansions) FlowVisor has applied