Changes between Version 11 and Version 12 of Internal/OpenFlow/Controllers/FloodLight


Ignore:
Timestamp:
Jun 3, 2012, 5:26:35 AM (12 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/Controllers/FloodLight

    v11 v12  
    1241243. Run the REST API and core controller.
    125125
    126 At this point, Floodlight is up and running.
     126At this point, Floodlight is up and running. The TCP server functions are implemented with [http://netty.io/ Netty]. The controller's ''run'' routine does two things:
     127 1. create a server-side channel on port 6633 (or where specified) 
     128 1. handle updates.
     129Updates include switches joining and departing, controller role change, and controller IP change.
    127130
    128131=== IFloodlightProviderService ===
    129 This interface lies at the core of Floodlight's functions (literally in net.floodlightcontroller.core). The class `Controller` implements this interface
     132This interface lies at the core of Floodlight's functions (literally in net.floodlightcontroller.core). The class `Controller` implements this interface and defines Floodlight's corre controller functionalities.
    130133
     134==== !OpenFlow message processing chain ====   
     135The manner in which a control message is processed is defined in the modules themselves through the `IOFMessageListener` interface's ''receive'' function.
     136
     137In `Controller`:   
     138 
     139 1. injectOfMessage(sw, msg) calls overloaded injectOfMessage with null context
     140 2. injectOfMessage (sw, msg, context) calls handleMessage(sw, msg, context)
     141 3. handleMessage(...) calls ''receive'' for each listener subscribed to the particular type of message received from a switch (types are defined in `OFType`)
     142  * messageListener maintains mappings between control message type and listeners.
     143  * This is also where `IListener`'s ''Command'' enumeration (return value for `IOFMessageListener`::receive) is used to decide if a message continues down the processing chain.
    131144
    132145= The Floodlight VM = #vm