| 275 | | The flow of event handling for messages, compared to the components of Flowvisor, looks like the following in the modified version of Floodlight: |
| 276 | | {{{ |
| 277 | | OFSwitchAcceptor FVClassifier FVSlicer |
| 278 | | _______________/\_______________ ____________________________/\____________________________ |
| 279 | | / \/ \ |
| 280 | | FVAcceptor FVController Modules OFSwitchImpl FVController Modules |
| 281 | | receive() -> handleMesssage() -> receive() -> write() -> handleOutgoingMessage() -> receive() |
| | 276 | ==== (7/10):[Floodlight packet processing chain] ==== #fl-2 |
| | 277 | The following function calls are made when Floodlight processes a OF Message from a switch: |
| | 278 | |
| | 279 | [[Image(fl-pkt-process-chain.png)]] |
| | 280 | Where the colors indicate the class membership of the function: |
| | 281 | * green: Controller.java |
| | 282 | * lavender: IOFMessageListener.java |
| | 283 | * blue: IOFSwitch.java |
| | 284 | * yellow: Netty.channel |
| | 285 | |
| | 286 | The flow of event handling for messages, looks like the following in the modified version of Floodlight: |
| | 287 | {{{ |
| | 288 | FVAcceptor FVController Modules OFSwitchImpl OFSwitchImpl Netty.channel.Channel |
| | 289 | receive() -> handleMesssage() -> receive() -> write() -> write(List<>) -> write() |