From Nsnam
Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Back to NSoC 2020 projects

Routing for community wireless

Note: This project is paused (as of late August 2020) due to lack of available time.

TL;DR - Rahul works as a Software Engineer at Microsoft. He graduated from BITS Pilani, India in Dec 2019. His area of interest is Networks and Systems.
  • Abstract: This project aims to develop models and evaluation programs related to routing in current community wireless networks. batman-adv for Freifunk.net is the initial target.

Project Overview

We meet Thursdays 3:30 PM GMT at https://meet.google.com/tam-izjx-wsg.
The tentative duration for this project is 3 4 months.


  • Specs are outdated, contribute towards fixing them as gaps are found.
  • Discuss the use of Tags with Mentors.

Next Milestone:

  • Have a fully functional neighbor discovery taking into account the entry and exit of nodes from the mesh.
  • Define test cases which should cover all possible features and conditions.
  • Get feedback for completeness of test cases and discovery protocol from the batadv community.

15th June - 30th June:

Summary - Understanding the batadv-protocol and ns-3 code structure.
  • Read B.A.T.M.A.N. IETF draft.
  • Read Thesis on analysis and simulation of a Freifunk network using batman - [1]
  • Read documentation and specs - [2]. Understood that the IETF draft is highly outdated and should be ignored.
  • Went through the ns-3 source code, the way models are designed, and how should the batman module be designed.

1st July - 15th July:

Summary - Implementing the basic structure of the batman module.
  • Wrote definitions for packet headers.
  • Wrote script to simulate batman on virtual namespaces on a Linux machine.
  • Started writing protocol definition and defining structures to maintain state on the nodes. Discussion with Tom helped in understanding that this should plugin itself to the mesh module.

16th July - 25th July:


25th July - 31st July:

Summary - Implementing protocol and state definitions as a routing protocol plugin to the mesh protocol.
  • Wrote definitions for batman helper.
  • Rewriting definitions for batman protocol and state.

Since late August:

This project is paused because Rahul does not have free time to devote to i.