== Project Objective: == The existing implementation of Mobility First is using the modular software router CLICK. The objective is to implement Mobility First protocols using OpenFlow on a hardware switch, and compare the forwarding performance of the OpenFlow implementation with that of the CLICK implementation. == Approach: == == Results: == == Work Log: == === Week 1 === === Week 2 === === Week 3 === The two main targets for the week are: 1. Establish a benchmark for the throughput that can be achieved by the CLICK Mobility First router. 1. Simple GUID based forwarding using an OpenFlow switch. === ''CLICK Router Throughput'' === Traditional packet generation/bandwidth measurement tools such as ''iperf'' cannot be used since it's a non-IP network. Hence the first requirement is a script that can generate a large number of Mobility First packets(probably of fixed size). Once this is done, packets can be pumped to the router in a simple three node setup to test for throughput. The router populated an OML database with statistics such as number of packets forwarded. The number of packets and the packet size can possibly be used to arrive at a value for the amount of data transferred. This, along with the timestamps of the first and last packets at the receiver can be used to compute the throughput. [[BR]] === ''GUID Based Forwarding Using OpenFlow'' === OpenFlow can look at header fields in a packet and define actions on the switch based on values of those headers. The list of header fields that it can look at (as specified in the [http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf OpenFlow Spec v1.1.0]) include the Source IP Address, Destination IP Address, Source MAC, Destination MAC, ECN bit etc. These fields should somehow be mapped to corresponding fields in the Mobility First header, as the first prerequisite for enabling an OpenFlow based forwarding scheme for Mobility First. Once this is done, flow rules can then be pushed from the controller to the switch matching destination GUIDs to outbound ports on the switch.