= !MobilityFirst Software Release = == Software Release Overview == The !MobilityFirst software prototype is a collection of independent and interoperating components that implement the concepts behind the architecture, such as: global GUID based name resolution, hybrid GUID/NA routing through hop-by-hop transfer, named communications and advanced host services, SDN based routing and more. The fundamental pieces of our prototype are: * A Click based Router * A DMap based GNRS (a Auspice based version is available at http://mobilityfirst.cs.umass.edu/wiki/index.php/Main_Page) * A Hoststack and Network API for Linux and Android based clients Our prototype can be deployed on any network with L2 connectivity (for the core network). The following examples on how to deploy and run a !MobilityFirst based architecture are available: * [wiki:/Proto/bSoftwareRelease/b0NetworkDeployment Deploying an MF Network] * [wiki:/Proto/bSoftwareRelease/c0GENIDeployment GENI Deployment]: Instructions to deploy MF network prototypes within a GENI slice. Also, details of GENI helper scripts distributed with this release. * [http://www.orbit-lab.org/wiki/Tutorials/oMF ORBIT Testbed MobilityFirst Tutorial] * [wiki:/Proto/bSoftwareRelease/ORBITTest Running a Custom MobilityFirst Network on ORBIT Testbed] == Modules == === 1. Click-based Software Router === * [wiki:/Proto/cModules/a0ClickRouter/a0SoftwareDesign Software Design] * [wiki:/Proto/cModules/a0ClickRouter/b0Installation Installation] * [wiki:/Proto/cModules/a0ClickRouter/c0Configurations Router Configurations] - basic, core, edge, access, multi-router, test * Example: [wiki:/Proto/cModules/a0ClickRouter/c0Configurations#a6.SettingupWiFiAccessonRouter up a WiFi Access Router] * [wiki:/Proto/cModules/a0ClickRouter/d0NetworkDeployment Network Deployment] * [wiki:/Proto/cModules/a0ClickRouter/e0CodeDocumentation Code Documentation] === 2. Global Name Resolution Service (GNRS) === * [wiki:/Proto/cModules/b0GNRS/a0NetworkProtocol Network Protocol] * [wiki:/Proto/cModules/b0GNRS/b0SoftwareDesign Software Design] * [wiki:/Proto/cModules/b0GNRS/c0Installation Installation] * [wiki:/Proto/cModules/b0GNRS/d0ServerConfiguration Server Configuration] * [wiki:/Proto/cModules/b0GNRS/e0ServiceDeployment Service Deployment] * [wiki:/Proto/cModules/b0GNRS/f0CodeDocumentation Code Documentation] === 3. Host Protocol Stack === * [wiki:/Proto/cModules/c0HostProtocolStack/a0SoftwareDesign Software Design] * [wiki:/Proto/cModules/c0HostProtocolStack/b0Installation Installation] * [wiki:/Proto/cModules/c0HostProtocolStack/c0Configuration Configuration] * [wiki:/Proto/cModules/c0HostProtocolStack/d0Running Running] * [http://www.winlab.rutgers.edu/~bronzino/hoststack/index.html Code Documentation] === 4. Network Service API (or MFSocket API) === * [wiki:/Proto/cModules/d0NetworkServiceAPI/a0DesignUsage Design and Usage] * [wiki:/Proto/cModules/d0NetworkServiceAPI/b0Installation Library Installation] * [wiki:/Proto/cModules/d0NetworkServiceAPI/c0Applications Sample Applications] * [wiki:/Proto/cModules/d0NetworkServiceAPI/d0Documentation API Documentation] === 5. SDN based !MobilityFirst Implementations === ==== !FloodLight Implementation ==== * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a0Floodlight/a0SoftwareDesign Software Design] * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a0Floodlight/b0Installation Installation] * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a0Floodlight/d0RunningController Running the Controller] * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a0Floodlight/e0CodeDocumentation Code Documentation] ==== Open Daylight Implementation ==== * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a1OpenDaylight/a0SoftwareDesign Software Design] * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a1OpenDaylight/b0Installation Installation] * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a1OpenDaylight/c0Configuration Controller Configuration] * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a1OpenDaylight/d0RunningController Running the Controller] * [wiki:/Proto/cModules/e0SDN/a0OpenFlow/a1OpenDaylight/e0CodeDocumentation Code Documentation] === 6. Computing Layer elements === * [wiki:/Proto/cModules/f0Computing/a0Overview What is the computing layer?] * [wiki:/Proto/cModules/f0Computing/b0MFclick How to host the computing layer in the MF click router?] * [wiki:/Proto/cModules/f0Computing/c0ServiceTCP Computing Service Base on TCP] * [wiki:/Proto/cModules/f0Computing/d0Installation Installation and usage] * [wiki:/Proto/cModules/f0Computing/e0ToDo To Do List] == Design Sandbox == * [wiki:/Proto/bSoftwareRelease/a0KnownIssues Known Issues] * Space to discuss architecture and protocol ideas: * [wiki:/Proto/cModules/c0DesignSandbox/a0HopExtensions Extensions to the link data transport protocol] * [wiki:/Proto/cModules/c0DesignSandbox/a0LinkQualityEstimate Rethink of link quality estimate for storage-assisted routing]