Changes between Version 10 and Version 11 of Internal/OpenFlow/Controllers/FloodLight
- Timestamp:
- Jun 2, 2012, 5:50:52 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/OpenFlow/Controllers/FloodLight
v10 v11 108 108 The following steps describe the startup process of the Floodlight controller. The reference is the source code in Main.java. 109 109 [[BR]] 110 [[BR]] 110 111 1. The `FloodlightModuleLoader` reads in the list of modules, and loads them, returning an `IFloodlightModuleContext` instance. 111 112 112 The `FloodlightModuleLoader` basically coordinates calls to the functions provided by the `IFloodlightModule` interface for each module in the config file (floodlightdefault.properties) and the modules that they depend on. Some key points are: [[BR]]113 The `FloodlightModuleLoader` basically coordinates calls to the functions provided by the `IFloodlightModule` interface for each module in the config file (floodlightdefault.properties) and the modules that they depend on. Some key points are: [[BR]] 113 114 * `IFloodlightModule` is the interface that lets you define Floodlight module behavior in a uniform way. 114 * The function ''loadModulesFromList'' finds all of the modules that it needs to load via a DFS beginning with the modules listed in the config file. The search is facilitated by `IFloodlightModule` functions .115 * The function ''loadModulesFromList'' finds all of the modules that it needs to load via a DFS beginning with the modules listed in the config file. The search is facilitated by `IFloodlightModule` functions such as ''getModuleDependencies''. 115 116 * The structure ''moduleSet'' will ultimately contain the minimum number of modules that need to be loaded at startup. 116 117 117 118 2. The `IFloodlightModuleContext` instance fetches copies of the `IRestApiService` and `IFloodlightProviderService` modules. 118 119 119 `IFloodlightModuleContext` provides a clean mechanism for retrieving references to the loaded modules/services, and their configuration parameters. `FloodlightModuleContext` implements this interface. [[BR]]120 `IFloodlightModuleContext` provides a clean mechanism for retrieving references to the loaded modules/services, and their configuration parameters. `FloodlightModuleContext` implements this interface. [[BR]] 120 121 * `IRestApiService` provides REST API functions. 121 122 * `IFloodlightProviderService` provides the core controller functions and then some. … … 123 124 3. Run the REST API and core controller. 124 125 125 At this point, Floodlight is up and running.126 At this point, Floodlight is up and running. 126 127 127 128 === IFloodlightProviderService === 128 This interface lies at the core of Floodlight's functions . The class `Controller` implements this interface.129 This interface lies at the core of Floodlight's functions (literally in net.floodlightcontroller.core). The class `Controller` implements this interface. 129 130 130 131
