Changes between Version 24 and Version 25 of Internal/OpenFlow/FloodlightFVModule


Ignore:
Timestamp:
Jul 10, 2012, 9:26:57 PM (12 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/FloodlightFVModule

    v24 v25  
    1212 * [#fv-1 Flowvisor FlowMap Overview]
    1313 * [#fv-2 Flowvisor Internals, Continued]
     14 * [#fl-2 Floodlight packet processing chain] 
    1415[#end jump to bottom.]
    1516== Overview. == #o
     
    273274As of now, we assume that there is one module per slice (forwarding, switch, hub...).
    274275
    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
     277The following function calls are made when Floodlight processes a OF Message from a switch:
     278
     279[[Image(fl-pkt-process-chain.png)]]
     280Where 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
     286The 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()
    282290}}}
    283291receive() in the modules may be called twice, but since message handling varies with OFType, this does not loop as one may think.