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.
- Student: Rahul Bothra
- Mentor: Tom Henderson
- Repository: https://gitlab.com/pro-panda/ns-3-dev/
- About: https://pro-panda.github.io/about/
- 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.
- We meet Thursdays 3:30 PM GMT at https://meet.google.com/tam-izjx-wsg.
- The tentative duration for this project is
- Specs are outdated, contribute towards fixing them as gaps are found.
- Discuss the use of Tags with Mentors.
- 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 - 
- Read documentation and specs - . 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.