Changes between Version 53 and Version 54 of Internal/OpenFlow/Controllers/MultiCtl


Ignore:
Timestamp:
Mar 2, 2013, 12:35:31 AM (11 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/Controllers/MultiCtl

    v53 v54  
    481481
    482482==== w/o 2/24-3/2 ==== #w23
     483'''2/28''' [[BR]]
     484
    483485Many revisions to things:
    484486 * update to Mininet 2.0.0
     
    502504    * invisibility of peers to one another, since we don't want peers to ask each other for services they don't host. Peers do not show up in each others' route tables.
    503505    * service advertisement propagation, across to peers that don't see the service.   
     506
     507'''3/1''' [[BR]]
     508We re-visit and revise the event filter/dispatch subsystem. This is layer 3 in our control node.
     509
     510 1. Event Types - the types of events we can receive from Floodlight's core system.
     511   * switch - new, port change, removed
     512   * message - various !OpenFlow messages: we stick to Packet_In, Port_Stat, Vendor (custom messages), each a separate event
     513   * device - new, removed, changed ( IP, VLAN, MOVED )
     514   * all - everything above 
     515
     516 2. Filter Types - the fields of things to match an event on. Varies with the type of event. We want a stable basis, and let the remote services take care of the finer details. Off the top of the mind:
     517   * switch - DPID, current event trigger switch
     518   * device - MAC, current event trigger device, DPID of attachment
     519   * Packet_Ins - certain device (or event trigger device), certain switch (event trigger switch) - by MAC and DPID, respective (we're narrowing our choices for sanity) 
     520   * Port_Status - ???
     521   * Vendor - Vendor ID
     522   * all - anything in that event
     523
     524 3. Process chain operations, associated with each server (sID), after we send it off to our service provider:
     525   * ALLOW - just a server telling us to carry on with local processing of the message. Don't write out, just return CONTINUE
     526   * SPLIT - keep processing after sending up - write out and return CONTINUE
     527   * DIVERT - stop processing the message, don't continue until the server answers - write out, save message context (indicate it had been DIVERTED so it can be resumed upon return), return STOP
     528   * DENY - a server wanting us to just drop the message. Don't write out, return STOP.
     529
     530 These return consensus-driven CONTINUE or STOP commands if multiple servers are interested in one event type. In general, we want to be conservative - STOP-related ops like DIVERT take precedence over Continue-related ops like SPLIT. Basically all of these are ANDed together.
     531
     532Dispatcher behavior algorithm. 
     533[[Image(dispatch-algo.png)]]
    504534----
    505535[#home Home.]