FlowVisor API

FlowVisor is able to provide slices of network resources and convey the control of each slice to a different OpenFlow controller. Slices can be defined by any combination of packet contents from layer 1 to 4 including:

  • Switch ports (layer 1)
  • Source/destination Ethernet MAC address or Ethernet type (layer 2)
  • Source/destination IP addresses or type (layer 3)
  • Source/destination TCP/UDP port or ICMP code/type (layer 4)

FlowVisor provides and enforces slice isolation. This isolation means that the data traffic in one slice cannot be captured by hosts in another slice. The FlowVisor API is transiting from XML-RPC to JSON. The XML-RPC API will remain as is but in a deprecated state and eventually it will be removed from the API. FlowVisor users are advised to migrate any of their dependencies on the FlowVisor API to the JSON interface. The API syntax may change in some areas. Check the latest FlowVisor documentation for the updated syntax. A command-line tool can be used to access the API of FlowVisor. This tool is named fvctl. For example, the following command line shows how list-slices is invoked using the fvctl command-line tool:

$ fvctl list-slices

The FlowVisor API includes the following commands:

  • The list-slices command can be used to list the currently configured slices.
  • The list-slice-info <slicename> command shows the URL address of the control, which controls the specified slicename. In addition, the information of slice owner who has created the slice and his/her contact information will be shown.
  • The add-slice <slicename> <controller_url> <email> command creates a new slice. The slicename cannot contain any of the following special characters: !, :, =, [, ], or new lines. The format of the URL address of the controller is specified as tcp:hostname[:port], for exaample tcp:127.0.0.1:12345. The default port (if not specified) is 6633. The email address is used as the administrative contact point of the slice.
  • The update-slice <slicename> <key> <value> command enables a slice user to modify the information associated with their slice. At the time of writing, only contact_email, controller_host, and controller_port can be changed.
  • The list-flowspace command prints the flow-based slice policy roles, which are also called flowspaces.
  • The remove-slice <slicename> command deletes a slice and releases all of the flowspace corresponding to the slice.
  • The update-slice-password <slicename> command changes the password, which is associated with the slicename parameter.
  • The add-flowspace <NAME> <DPID> <PRIORITY> <FLOW_MATCH> <SLICEACTIONS> command creates a new slice policy rule (flowspace) with its given NAME. The format of DPID, FLOW_MATCH, and SLICEACTIONS are explained in the following subsections.
  • The update-flowspace <NAME> <DPID> <PRIORITY> <FLOW_MATCH> <SLICEACTIONS> command modifies the slice policy rule, which is indicated by the NAME parameter with a new rule with the specified parameters. The format of DPID, FLOW_MATCH, and SLICEACTIONS are explained in the following subsections.
  • The remove-flowspace <NAME> command deletes the policy rule with the specified NAME.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset