Changes between Version 1 and Version 2 of OpenFlow/Controllers/Floodlight


Ignore:
Timestamp:
12/11/12 14:37:17 (7 years ago)
Author:
tupty@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OpenFlow/Controllers/Floodlight

    v1 v2  
    66== For Operators ==
    77=== Configuration ===
    8 http://www.openflowhub.org/display/floodlightcontroller/Configuration+HOWTO explains how to load specific modules.  Modules are documented at http://www.openflowhub.org/pages/viewpage.action?pageId=3638160.  The default configuration uses the Forwarding module to forward traffic.
     8http://www.openflowhub.org/display/floodlightcontroller/Configuration+HOWTO explains how to load specific modules.  Modules are documented at http://www.openflowhub.org/pages/viewpage.action?pageId=3638160.  The default configuration uses the Forwarding module to forward traffic, so if you do not want your controller forwarding data plane traffic, you will need to disable the forwarding module first.
    99
    1010=== Monitoring ===
    1111Monitoring what is going on within an OpenFlow network can be done with a few basic curl commands and a basic understanding of how to read JSON.  The full set of commands are documented at http://www.openflowhub.org/display/floodlightcontroller/Floodlight+REST+API, but a few select useful ones are documented below.
    1212
    13 ==== Querying for Switch Features ====
     13==== Variables ====
     14||'''Variable'''   ||'''Description'''                            ||'''Example Value'''   ||
     15||<host_url>       || hostname of the host running the controller || localhost            ||
     16||<rest_api_port>  || Port to which the REST server is bound      || 8080                 ||
     17||<controller_url> || http://<host_url>:<rest_api_port>           || http://localhost:8080||
    1418
    1519==== Querying for Flow Stats ====
     20This will tell you what flows are in the switch currently, which table that flow is in, and statistics on the flow (i.e. how many packets have matched that flow, how long that flow has been in the table for, etc.).
     21{{{
     22curl <controller_url>/wm/core/switch/all/flows/json | python -m json.tool
     23}}}
    1624
    1725==== Querying for Topology Information ====
     26This will tell you how the !OpenFlow switches are interconnected.  This will only work for switches that are physically directly connected or logically directly connected (i.e. via a tunnel).  If a non-OpenFlow switch is between two !OpenFlow switches, then this query cannot tell you how these two !OpenFlow switches connect.  To query this information, the net.floodlightcontroller.topology.TopologyManager module must be loaded.
     27{{{
     28curl <controller_url>/wm/topology/links/json | python -m json.tool
     29}}}
     30
     31To see how !OpenFlow switches interconnect through non-OpenFlow switches, the following query can be used:
     32{{{
     33curl <controller_url>/wm/topology/links/json | python -m json.tool
     34}}}
     35Note that this second query relies on the controller being able to handle traffic for a specific ethertype.
     36
     37==== Detecting where devices enter the OpenFlow network ====
     38
     39==== Querying for Switch Features ====
     40This will let you see the supported ofp_actions and ofp_capabilities of each switch that is being queried.  You can also see information on the ports, including their name (according to the switch), their port number (according to OpenFlow), and some of their features.  Decoding these values will require looking at the spec, because many of them are presented as bitmasks.
     41{{{
     42curl <controller_url>/wm/core/switch/all/features/json | python -m json.tool
     43}}}
    1844
    1945==== Testing specific !OpenFlow features ====