| 49 | |
| 50 | Before starting the controller, it has to be configured to load the MobilityFirst modules on start up and to listen for PACKET_IN messages. |
| 51 | |
| 52 | Open 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. |
| 53 | |
| 54 | {{{ |
| 55 | net.floodlightcontroller.guidtomacmapper.GUIDtoMACMapper,\ |
| 56 | net.floodlightcontroller.mffunctions.MFFunctions |
| 57 | }}} |
| 58 | |
| 59 | The file should look like |
| 60 | {{{ |
| 61 | floodlight.modules = net.floodlightcontroller.staticflowentry.StaticFlowEntryPusher,\ |
| 62 | net.floodlightcontroller.forwarding.Forwarding,\ |
| 63 | net.floodlightcontroller.jython.JythonDebugInterface,\ |
| 64 | net.floodlightcontroller.counter.CounterStore,\ |
| 65 | net.floodlightcontroller.perfmon.PktInProcessingTime,\ |
| 66 | net.floodlightcontroller.guidtomacmapper.GUIDtoMACMapper,\ |
| 67 | net.floodlightcontroller.mffunctions.MFFunctions |
| 68 | net.floodlightcontroller.restserver.RestApiServer.port = 8080 |
| 69 | net.floodlightcontroller.core.FloodlightProvider.openflowport = 6633 |
| 70 | }}} |
| 71 | |
| 72 | Add the following two lines to src/main/resources/META_INF/services/net.floodlightcontroller.core.moduele.IFloodlightModule |
| 73 | {{{ |
| 74 | net.floodlightcontroller.guidtomacmapper.GUIDtoMACMapper |
| 75 | net.floodlightcontroller.mffunctions.MFFunctions |
| 76 | }}} |
| 77 | |
| 78 | The last step is to edit src/main/java/net/floodlightcontroller/forwarding/Forwarding.java to not process MF packets, i.e, to include the condition |
| 79 | {{{ |
| 80 | if (match.getDataLayerType == 0x27c0) |
| 81 | return Command.CONTINUE; |
| 82 | }}} |