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() |