Changes between Version 11 and Version 12 of Internal/OpenFlow/Controllers/FloodLight
- Timestamp:
- Jun 3, 2012, 5:26:35 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/OpenFlow/Controllers/FloodLight
v11 v12 124 124 3. Run the REST API and core controller. 125 125 126 At this point, Floodlight is up and running. 126 At 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. 129 Updates include switches joining and departing, controller role change, and controller IP change. 127 130 128 131 === IFloodlightProviderService === 129 This interface lies at the core of Floodlight's functions (literally in net.floodlightcontroller.core). The class `Controller` implements this interface .132 This 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. 130 133 134 ==== !OpenFlow message processing chain ==== 135 The manner in which a control message is processed is defined in the modules themselves through the `IOFMessageListener` interface's ''receive'' function. 136 137 In `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. 131 144 132 145 = The Floodlight VM = #vm