GSOC20256LoWPAN: Difference between revisions
Jump to navigation
Jump to search
Line 59: | Line 59: | ||
= Weekly Updates = | = Weekly Updates = | ||
* Community Bonding Period (May 8 - May 31) | * '''Community Bonding Period (May 8 - May 31)''' | ||
* Week 1 (June 1 - June 7) | * '''Week 1 (June 1 - June 7)''' | ||
* Week 2 (June 8 - June 14) | * '''Week 2 (June 8 - June 14)''' | ||
* Week 3 (June 15 - June 21) | * '''Week 3 (June 15 - June 21)''' | ||
* Week 4 (June 22 - 28) | * '''Week 4 (June 22 - 28)''' | ||
* Week 5 (June 29 - July 5) | * '''Week 5 (June 29 - July 5)''' | ||
* Week 6 (July 6 - July 12) | * '''Week 6 (July 6 - July 12)''' | ||
* Week 7 (July 12 - July 19) | * '''Week 7 (July 12 - July 19)''' | ||
= Readings = | = Readings = |
Revision as of 14:28, 20 July 2025
Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects
HOWTOs - Installation - Troubleshooting - User FAQ - Samples - Models - Education - Contributed Code - Papers
Back to GSoC 2025 projects
Project Overview
- Project Name: 6LoWPAN Neighbor Discovery Protocol
- Student: Boh Jie Qi
- Mentors: Tommaso Pecorella and Adnan Rashid
- Google page: link
- Proposal: link
- Project Goals: The 6LoWPAN-ND (RFCs 4944, 6775, and 8505) is a replacement for IPv6 DAD and NDP for 6LoWPAN networks, and it is important to ensure address uniqueness across a network that can potentially use different MAC/PHY layers. There is a model for 6LoWPAN-ND, but it is still not merged in the main ns-3 branch. The goal is to clean up the implementation, remove an actual limitation due to a questionable assumption, and to add the support for multi-hop operations (EDAR and EDAC messages).
- Repository: repo
- About Me: I am a pre-final undergraduate student at the National University of Singapore, and am super excited to be able to work with everyone at ns-3!
Milestones
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN
Pull Request
- Code Refactoring
- Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability.
- General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments
- Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability.
- Bug Fixes
- Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD
- Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR
- Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD
- Documentation
- Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic
- Create report documenting design choices
- Add Sphinx documentation detailing 6LoWPAN
- Features
- Add working ROVR generation and validation
- Tests
- Unit tests for packet parsing and packet validation
- Tests for address registration of 1-10 6LNs with 1 6LBR
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD
- Bug Fixes
- Documentation
- Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase
- Features
- Add 6LR
- Add working Transaction ID validation (RFC8505 5.2)
- Add 6CIO Option in RS / RA packets
- Tests
- Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence
Extra
- Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in the following document
- Add support for RFC8505 EARO fields in packet dissection in Wireshark
- Document tweaks made to address registration delays
Weekly Updates
- Community Bonding Period (May 8 - May 31)
- Week 1 (June 1 - June 7)
- Week 2 (June 8 - June 14)
- Week 3 (June 15 - June 21)
- Week 4 (June 22 - 28)
- Week 5 (June 29 - July 5)
- Week 6 (July 6 - July 12)
- Week 7 (July 12 - July 19)
Readings
RFC4861 Neighbor Discovery for IP version 6 (IPv6)
RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)
RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery
RFC5175 IPv6 Router Advertisement Flags Option
Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)