close Warning: Can't synchronize with repository "(default)" ("(default)" is not readable or not a Git repository.). Look in the Trac log for more information.

Changes between Initial Version and Version 1 of Proto/cModules/e0SDN/a0OpenFlow/a0Floodlight/d0RunningController


Ignore:
Timestamp:
Dec 3, 2014, 4:22:09 PM (9 years ago)
Author:
seskar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Proto/cModules/e0SDN/a0OpenFlow/a0Floodlight/d0RunningController

    v1 v1  
     1== Running Floodlight with MobilityFirst ==
     2
     3The [https://mobilityfirst.orbit-lab.org/wiki/SystemPrototyping/Projects/ClickRouter CLICK router project page] has details on configurations in which the software router can be used. The file sender and file receiver configurations can be used as end hosts. A node running the router configuration can be used for the storage of chunks.
     4
     5Before starting the controller, it has to be configured to load the MobilityFirst modules on start up and to listen for PACKET_IN messages.
     6
     7Open the file src/main/resources/floodlightdefault.properties and add the following lines before the lines that mention the ports for floodlight and the REST API.
     8
     9{{{
     10net.floodlightcontroller.guidtomacmapper.GUIDtoMACMapper,\
     11net.floodlightcontroller.mffunctions.MFFunctions
     12}}}
     13
     14The file should look like
     15{{{
     16floodlight.modules = net.floodlightcontroller.staticflowentry.StaticFlowEntryPusher,\
     17net.floodlightcontroller.forwarding.Forwarding,\
     18net.floodlightcontroller.jython.JythonDebugInterface,\
     19net.floodlightcontroller.counter.CounterStore,\
     20net.floodlightcontroller.perfmon.PktInProcessingTime,\
     21net.floodlightcontroller.guidtomacmapper.GUIDtoMACMapper,\
     22net.floodlightcontroller.mffunctions.MFFunctions
     23net.floodlightcontroller.restserver.RestApiServer.port = 8080
     24net.floodlightcontroller.core.FloodlightProvider.openflowport = 6633
     25}}}
     26
     27Add the following two lines to src/main/resources/META_INF/services/net.floodlightcontroller.core.moduele.IFloodlightModule
     28{{{
     29net.floodlightcontroller.guidtomacmapper.GUIDtoMACMapper
     30net.floodlightcontroller.mffunctions.MFFunctions
     31}}}
     32
     33The last step is to edit src/main/java/net/floodlightcontroller/forwarding/Forwarding.java to not process MF packets, i.e, to include the condition
     34{{{
     35if (match.getDataLayerType == 0x27c0)
     36        return Command.CONTINUE;
     37}}}
     38
     39Compile and run with,
     40{{{
     41ant
     42java -jar target/floodlight.jar
     43}}}
     44
     45== Running the SDN MobilityFirst Prototype with Floodlight in SB9 ==
     46
     47''' MobilityFirst Prototype in OpenFlow '''
     48
     49
     50The MobilityFirst SDN Prototype in SB9 can be set up using the following instructions:
     511. Two images have to be loaded for the controller and source/destination nodes :
     52
     53a. Image '''aravind-mf1.ndz''' for the source and destination to be loaded on nodes ''node1-1 & node1-2''
     54
     55b. Image '''floodlight-controller.ndz''' for the controller to be loaded on ''node1-11''
     56
     57c. On nodes with source & destination, run the scripts under the directory /usr/local/mobilityfirst/scripts/click : init_traf_gen.sh  and init_sink.sh respectively.
     58
     59d. On the node with the controller, cd floodlight_mf  and java -jar target/floodlight.jar for running the controller.
     60
     61The configuration for the switch need not be changed except to make sure that the ports with the source and destination are OpenFlow enabled and set to version 1.0 and the controller contr-serv is 10.19.1.11 (This is already the setup in the switch except that OF 1.3 is enabled instead of 1.0).