<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.nsnam.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jieqiboh</id>
	<title>Nsnam - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.nsnam.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jieqiboh"/>
	<link rel="alternate" type="text/html" href="https://www.nsnam.org/wiki/Special:Contributions/Jieqiboh"/>
	<updated>2026-05-02T11:38:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13629</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13629"/>
		<updated>2025-07-20T18:00:31Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on &amp;lt;code&amp;gt;src/sixlowpan&amp;lt;/code&amp;gt;, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the &amp;lt;code&amp;gt;sixlowpan-ping-test.cc&amp;lt;/code&amp;gt; example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the &amp;lt;code&amp;gt;NdiscCache&amp;lt;/code&amp;gt; implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for &amp;lt;code&amp;gt;AddressRegistration&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AddressRegistrationTimeout&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;AddressRegistrationSuccess&amp;lt;/code&amp;gt; to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (&amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressReRegistration&amp;lt;/code&amp;gt;), reducing code complexity and improving maintainability.&lt;br /&gt;
** Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
** Implemented core logic for address registration in alignment with the serialized state machine design drafted previously&lt;br /&gt;
** Resolved major functional bugs in the ND protocol stack, enabling successful end-to-end address registration for individual 6LNs.&lt;br /&gt;
** Removed legacy variables and deprecated address re-registration code paths, streamlining protocol logic.&lt;br /&gt;
** Wrote test: sixlowpan-reg-test.cc to simulate and validate bootstrapping and address registration for a simple setup 1 6LN with 1 6LBR.&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
** Reintroduced the &amp;lt;code&amp;gt;m_addressRegistrationEvent&amp;lt;/code&amp;gt; scheduling mechanism within &amp;lt;code&amp;gt;SixLowPanNdProtocol&amp;lt;/code&amp;gt; to restore proper handling of timed registration events.&lt;br /&gt;
** Fixed key bug in &amp;lt;code&amp;gt;SixLowPanNdProtocol::HandleSixLowPanNs&amp;lt;/code&amp;gt;: added early return logic and call to &amp;lt;code&amp;gt;Icmpv6L4Protocol::HandleNS&amp;lt;/code&amp;gt; when EARO is absent and corrected retransmission counter increment behavior.&lt;br /&gt;
** Rebased development branch onto the latest ns-3-dev master to maintain compatibility and integrate upstream changes.&lt;br /&gt;
** Disabled default IPv6 Duplicate Address Detection (DAD) timeouts in favor of multicast Router Solicitation scheduling during 6LN initialization, aligning with 6LoWPAN-ND behaviour.&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
** Implemented multicast Router Solicitation support for 6LNs via a new &amp;lt;code&amp;gt;SixLowPanNdProtocol::SendSixLowPanMulticastRS&amp;lt;/code&amp;gt; method, with randomized jitter and retransmission timeout logic to reduce collision risk and improve robustness.&lt;br /&gt;
** Introduced delayed periodic re-registration in &amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressRegistration&amp;lt;/code&amp;gt; and extended registration lifetimes (&amp;gt;1 month) to reduce control traffic overhead in LLNs.&lt;br /&gt;
** Authored Sphinx documentation for 6LoWPAN-ND, adding it to &amp;lt;code&amp;gt;sixlowpan.rst&amp;lt;/code&amp;gt;, covering protocol design, implementation details, and usage within the ns-3 framework.&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
** Added user attribution by updating the AUTHORS file.&lt;br /&gt;
** Implemented binary exponential backoff for multicast RS messages sent by 6LNs in accordance with RFC6775 Section 5.3&lt;br /&gt;
** Added support for the 6LoWPAN Capability Indication Option (6CIO) according to RFC7400 and extensions in RFC8505 5.3 in Router Solicitation and Advertisement messages.&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
** Updated the sixlowpan-nd-basic-test to simulate a more complete topology with 4 6LNs and 1 6LBR, improving test coverage and realism of the Neighbor Discovery process.&lt;br /&gt;
** Removed the legacy sixlowpan-ping-test which was no longer aligned with the updated registration logic and test objectives.&lt;br /&gt;
** Implemented full support for ROVR (Registration Ownership Verifier) generation and validation, as specified in RFC 8505, to authenticate and correlate address registration attempts from 6LNs.&lt;br /&gt;
** Initiated Phase 2 planning by drafting a design document detailing new node interactions between 6LN and 6LBR, and between 6LN and 6LR, and EDAR/EDAC packet formats.&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13628</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13628"/>
		<updated>2025-07-20T17:59:16Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on &amp;lt;code&amp;gt;src/sixlowpan&amp;lt;/code&amp;gt;, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the &amp;lt;code&amp;gt;sixlowpan-ping-test.cc&amp;lt;/code&amp;gt; example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the &amp;lt;code&amp;gt;NdiscCache&amp;lt;/code&amp;gt; implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for &amp;lt;code&amp;gt;AddressRegistration&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AddressRegistrationTimeout&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;AddressRegistrationSuccess&amp;lt;/code&amp;gt; to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (&amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressReRegistration&amp;lt;/code&amp;gt;), reducing code complexity and improving maintainability.&lt;br /&gt;
** Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
** Implemented core logic for address registration in alignment with the serialized state machine design drafted previously&lt;br /&gt;
** Resolved major functional bugs in the ND protocol stack, enabling successful end-to-end address registration for individual 6LNs.&lt;br /&gt;
** Removed legacy variables and deprecated address re-registration code paths, streamlining protocol logic.&lt;br /&gt;
** Wrote test: sixlowpan-reg-test.cc to simulate and validate bootstrapping and address registration for a simple setup 1 6LN with 1 6LBR.&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
** Reintroduced the &amp;lt;code&amp;gt;m_addressRegistrationEvent&amp;lt;/code&amp;gt; scheduling mechanism within &amp;lt;code&amp;gt;SixLowPanNdProtocol&amp;lt;/code&amp;gt; to restore proper handling of timed registration events.&lt;br /&gt;
** Fixed key bug in &amp;lt;code&amp;gt;SixLowPanNdProtocol::HandleSixLowPanNs&amp;lt;/code&amp;gt;: added early return logic and call to &amp;lt;code&amp;gt;Icmpv6L4Protocol::HandleNS&amp;lt;/code&amp;gt; when EARO is absent and corrected retransmission counter increment behavior.&lt;br /&gt;
** Rebased development branch onto the latest ns-3-dev master to maintain compatibility and integrate upstream changes.&lt;br /&gt;
** Disabled default IPv6 Duplicate Address Detection (DAD) timeouts in favor of multicast Router Solicitation scheduling during 6LN initialization, aligning with 6LoWPAN-ND behaviour.&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
** Implemented multicast Router Solicitation support for 6LNs via a new &amp;lt;code&amp;gt;SixLowPanNdProtocol::SendSixLowPanMulticastRS&amp;lt;/code&amp;gt; method, with randomized jitter and retransmission timeout logic to reduce collision risk and improve robustness.&lt;br /&gt;
** Introduced delayed periodic re-registration in &amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressRegistration&amp;lt;/code&amp;gt; and extended registration lifetimes (&amp;gt;1 month) to reduce control traffic overhead in LLNs.&lt;br /&gt;
** Authored Sphinx documentation for 6LoWPAN-ND, adding it to &amp;lt;code&amp;gt;sixlowpan.rst&amp;lt;/code&amp;gt;, covering protocol design, implementation details, and usage within the ns-3 framework.&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
** Added user attribution by updating the AUTHORS file.&lt;br /&gt;
** Implemented binary exponential backoff for multicast RS messages sent by 6LNs in accordance with RFC6775 Section 5.3&lt;br /&gt;
** Added support for the 6LoWPAN Capability Indication Option (6CIO) according to RFC7400 and extensions in RFC8505 5.3 in Router Solicitation and Advertisement messages.&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
** Updated the sixlowpan-nd-basic-test to simulate a more complete topology with 4 6LNs and 1 6LBR, improving test coverage and realism of the Neighbor Discovery process.&lt;br /&gt;
** Removed the legacy sixlowpan-ping-test which was no longer aligned with the updated registration logic and test objectives.&lt;br /&gt;
** Implemented full support for ROVR (Registration Ownership Verifier) generation and validation, as specified in RFC 8505, to authenticate and correlate address registration attempts from 6LNs.&lt;br /&gt;
** Initiated Phase 2 planning by drafting a design document detailing new node interactions between 6LN and 6LBR, and between 6LN and 6LR, and EDAR/EDAC packet formats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13627</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13627"/>
		<updated>2025-07-20T17:42:45Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on &amp;lt;code&amp;gt;src/sixlowpan&amp;lt;/code&amp;gt;, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the &amp;lt;code&amp;gt;sixlowpan-ping-test.cc&amp;lt;/code&amp;gt; example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the &amp;lt;code&amp;gt;NdiscCache&amp;lt;/code&amp;gt; implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for &amp;lt;code&amp;gt;AddressRegistration&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AddressRegistrationTimeout&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;AddressRegistrationSuccess&amp;lt;/code&amp;gt; to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (&amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressReRegistration&amp;lt;/code&amp;gt;), reducing code complexity and improving maintainability.&lt;br /&gt;
** Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
** Implemented core logic for address registration in alignment with the serialized state machine design drafted previously&lt;br /&gt;
** Resolved major functional bugs in the ND protocol stack, enabling successful end-to-end address registration for individual 6LNs.&lt;br /&gt;
** Removed legacy variables and deprecated address re-registration code paths, streamlining protocol logic.&lt;br /&gt;
** Wrote test: sixlowpan-reg-test.cc to simulate and validate bootstrapping and address registration for a simple setup 1 6LN with 1 6LBR.&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
** Reintroduced the &amp;lt;code&amp;gt;m_addressRegistrationEvent&amp;lt;/code&amp;gt; scheduling mechanism within &amp;lt;code&amp;gt;SixLowPanNdProtocol&amp;lt;/code&amp;gt; to restore proper handling of timed registration events.&lt;br /&gt;
** Fixed key bug in &amp;lt;code&amp;gt;SixLowPanNdProtocol::HandleSixLowPanNs&amp;lt;/code&amp;gt;: added early return logic and call to &amp;lt;code&amp;gt;Icmpv6L4Protocol::HandleNS&amp;lt;/code&amp;gt; when EARO is absent and corrected retransmission counter increment behavior.&lt;br /&gt;
** Rebased development branch onto the latest ns-3-dev master to maintain compatibility and integrate upstream changes.&lt;br /&gt;
** Disabled default IPv6 Duplicate Address Detection (DAD) timeouts in favor of multicast Router Solicitation scheduling during 6LN initialization, aligning with 6LoWPAN-ND behaviour.&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
** Implemented multicast Router Solicitation support for 6LNs via a new &amp;lt;code&amp;gt;SixLowPanNdProtocol::SendSixLowPanMulticastRS&amp;lt;/code&amp;gt; method, with randomized jitter and retransmission timeout logic to reduce collision risk and improve robustness.&lt;br /&gt;
** Introduced delayed periodic re-registration in &amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressRegistration&amp;lt;/code&amp;gt; and extended registration lifetimes (&amp;gt;1 month) to reduce control traffic overhead in LLNs.&lt;br /&gt;
** Authored Sphinx documentation for 6LoWPAN-ND, adding it to &amp;lt;code&amp;gt;sixlowpan.rst&amp;lt;/code&amp;gt;, covering protocol design, implementation details, and usage within the ns-3 framework.&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
** Added user attribution by updating the AUTHORS file.&lt;br /&gt;
** Implemented binary exponential backoff for multicast RS messages sent by 6LNs in accordance with RFC6775 Section 5.3&lt;br /&gt;
** Added support for the 6LoWPAN Capability Indication Option (6CIO) according to RFC7400 and extensions in RFC8505 5.3 in Router Solicitation and Advertisement messages.&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13626</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13626"/>
		<updated>2025-07-20T17:08:11Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on &amp;lt;code&amp;gt;src/sixlowpan&amp;lt;/code&amp;gt;, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the &amp;lt;code&amp;gt;sixlowpan-ping-test.cc&amp;lt;/code&amp;gt; example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the &amp;lt;code&amp;gt;NdiscCache&amp;lt;/code&amp;gt; implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for &amp;lt;code&amp;gt;AddressRegistration&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AddressRegistrationTimeout&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;AddressRegistrationSuccess&amp;lt;/code&amp;gt; to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (&amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressReRegistration&amp;lt;/code&amp;gt;), reducing code complexity and improving maintainability.&lt;br /&gt;
** Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
** Implemented core logic for address registration in alignment with the serialized state machine design drafted previously&lt;br /&gt;
** Resolved major functional bugs in the ND protocol stack, enabling successful end-to-end address registration for individual 6LNs.&lt;br /&gt;
** Removed legacy variables and deprecated address re-registration code paths, streamlining protocol logic.&lt;br /&gt;
** Wrote test: sixlowpan-reg-test.cc to simulate and validate bootstrapping and address registration for a simple setup 1 6LN with 1 6LBR.&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
** Reintroduced the &amp;lt;code&amp;gt;m_addressRegistrationEvent&amp;lt;/code&amp;gt; scheduling mechanism within &amp;lt;code&amp;gt;SixLowPanNdProtocol&amp;lt;/code&amp;gt; to restore proper handling of timed registration events.&lt;br /&gt;
** Fixed key bug in &amp;lt;code&amp;gt;SixLowPanNdProtocol::HandleSixLowPanNs&amp;lt;/code&amp;gt;: added early return logic and call to &amp;lt;code&amp;gt;Icmpv6L4Protocol::HandleNS&amp;lt;/code&amp;gt; when EARO is absent and corrected retransmission counter increment behavior.&lt;br /&gt;
** Rebased development branch onto the latest ns-3-dev master to maintain compatibility and integrate upstream changes.&lt;br /&gt;
** Disabled default IPv6 Duplicate Address Detection (DAD) timeouts in favor of multicast Router Solicitation scheduling during 6LN initialization, aligning with 6LoWPAN-ND behaviour.&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
** Implemented multicast Router Solicitation support for 6LNs via a new &amp;lt;code&amp;gt;SixLowPanNdProtocol::SendSixLowPanMulticastRS&amp;lt;/code&amp;gt; method, with randomized jitter and retransmission timeout logic to reduce collision risk and improve robustness.&lt;br /&gt;
** Introduced delayed periodic re-registration in &amp;lt;code&amp;gt;SixLowPanNdProtocol::AddressRegistration&amp;lt;/code&amp;gt; and extended registration lifetimes (&amp;gt;1 month) to reduce control traffic overhead in LLNs.&lt;br /&gt;
** Authored Sphinx documentation for 6LoWPAN-ND, adding it to &amp;lt;code&amp;gt;sixlowpan.rst&amp;lt;/code&amp;gt;, covering protocol design, implementation details, and usage within the ns-3 framework.&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13625</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13625"/>
		<updated>2025-07-20T17:04:26Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (SixLowPanNdProtocol::AddressReRegistration), reducing code complexity and improving maintainability.&lt;br /&gt;
** Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
** Implemented core logic for address registration in alignment with the serialized state machine design drafted previously&lt;br /&gt;
** Resolved major functional bugs in the ND protocol stack, enabling successful end-to-end address registration for individual 6LNs.&lt;br /&gt;
** Removed legacy variables and deprecated address re-registration code paths, streamlining protocol logic.&lt;br /&gt;
** Wrote test: sixlowpan-reg-test.cc to simulate and validate bootstrapping and address registration for a simple setup 1 6LN with 1 6LBR.&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
** Reintroduced the m_addressRegistrationEvent scheduling mechanism within SixLowPanNdProtocol to restore proper handling of timed registration events.&lt;br /&gt;
** Fixed key bug in NS(EARO) handling: added early return logic and call to Icmpv6L4Protocol::HandleNS when EARO is absent and corrected retransmission counter increment behavior.&lt;br /&gt;
** Rebased development branch onto the latest ns-3-dev master to maintain compatibility and integrate upstream changes.&lt;br /&gt;
** Disabled default IPv6 Duplicate Address Detection (DAD) timeouts in favor of multicast Router Solicitation scheduling during 6LN initialization, aligning with 6LoWPAN-ND behaviour.&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
** Implemented multicast Router Solicitation support for 6LNs via a new SixLowPanNdProtocol::SendSixLowPanMulticastRS method, with randomized jitter and retransmission timeout logic to reduce collision risk and improve robustness.&lt;br /&gt;
** Introduced delayed periodic re-registration in SixLowPanNdProtocol::AddressRegistration and extended registration lifetimes (&amp;gt;1 month) to reduce control traffic overhead in LLNs.&lt;br /&gt;
** Authored Sphinx documentation for 6LoWPAN-ND, adding it to sixlowpan.rst, covering protocol design, implementation details, and usage within the ns-3 framework.&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13624</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13624"/>
		<updated>2025-07-20T15:45:47Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (SixLowPanNdProtocol::AddressReRegistration), reducing code complexity and improving maintainability.&lt;br /&gt;
** Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
** Implemented core logic for address registration in alignment with the serialized state machine design drafted previously&lt;br /&gt;
** Resolved major functional bugs in the ND protocol stack, enabling successful end-to-end address registration for individual 6LNs.&lt;br /&gt;
** Removed legacy variables and deprecated address re-registration code paths, streamlining protocol logic.&lt;br /&gt;
** Wrote test: sixlowpan-reg-test.cc to simulate and validate bootstrapping and address registration for a simple setup 1 6LN with 1 6LBR.&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
** Reintroduced the m_addressRegistrationEvent scheduling mechanism within SixLowPanNdProtocol to restore proper handling of timed registration events.&lt;br /&gt;
** Fixed key bug in NS(EARO) handling: added early return logic and call to Icmpv6L4Protocol::HandleNS when EARO is absent and corrected retransmission counter increment behavior.&lt;br /&gt;
** Rebased development branch onto the latest ns-3-dev master to maintain compatibility and integrate upstream changes.&lt;br /&gt;
** Disabled default IPv6 Duplicate Address Detection (DAD) timeouts in favor of multicast Router Solicitation scheduling during 6LN initialization, aligning with 6LoWPAN-ND behaviour.&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13623</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13623"/>
		<updated>2025-07-20T15:40:03Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (SixLowPanNdProtocol::AddressReRegistration), reducing code complexity and improving maintainability.&lt;br /&gt;
** Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
** Implemented core logic for address registration in alignment with the serialized state machine design drafted previously&lt;br /&gt;
** Resolved major functional bugs in the ND protocol stack, enabling successful end-to-end address registration for individual 6LNs.&lt;br /&gt;
** Removed legacy variables and deprecated address re-registration code paths, streamlining protocol logic.&lt;br /&gt;
** Wrote test: sixlowpan-reg-test.cc to simulate and validate bootstrapping and address registration across a scalable setup (1–20 6LNs registering with a single 6LBR).&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13622</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13622"/>
		<updated>2025-07-20T15:35:37Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (SixLowPanNdProtocol::AddressReRegistration), reducing code complexity and improving maintainability.&lt;br /&gt;
- Created annotated flow diagrams using draw.io to visualize the address registration FSM and its interactions, aiding code readability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13621</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13621"/>
		<updated>2025-07-20T15:33:53Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 original project description].&lt;br /&gt;
** Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the [ Phase 1 report] for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (SixLowPanNdProtocol::AddressReRegistration), reducing code complexity and improving maintainability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13620</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13620"/>
		<updated>2025-07-20T15:29:52Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the [https://docs.google.com/document/d/1kKYQzeEv3RgmSG0VDjr60ZC90ISxWAGZbwwOFPHf3nE/edit?tab=t.0 phase 1 project report].&lt;br /&gt;
** Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the Phase 1 report for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (e.g., AddressReRegistration()), reducing code complexity and improving maintainability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13619</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13619"/>
		<updated>2025-07-20T15:27:47Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
** Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
** Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
** Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
** Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
** Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
** Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
** Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
** Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the original project proposal.&lt;br /&gt;
** Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
** Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
** Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the Phase 1 report for reference and future extensibility.&lt;br /&gt;
** Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
** Removed outdated and redundant scheduling logic (e.g., AddressReRegistration()), reducing code complexity and improving maintainability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13618</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13618"/>
		<updated>2025-07-20T15:27:06Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period Week 1 (May 12 - May 18)'''&lt;br /&gt;
- Conducted an in-depth review of key specifications, including RFC 8505, RFC 6775, and RFC 4861, to build a strong foundation in IPv6 Neighbor Discovery and its 6LoWPAN optimizations.&lt;br /&gt;
- Explored relevant ns-3 modules, focusing on src/sixlowpan, and reviewed RFC 4944 and RFC 6282 to understand 6LoWPAN fragmentation, compression, and adaptation mechanisms.&lt;br /&gt;
- Forked the ns-3 development repository and set up a working environment with the legacy 6LoWPAN-ND implementation as a baseline for development.&lt;br /&gt;
- Established communication channels with mentors via Zulip and Google Meet, and aligned on expectations, deliverables, and development workflow.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 2 (May 19 - May 25)'''&lt;br /&gt;
- Performed in-depth packet analysis of key 6LoWPAN-ND messages, including NS(EARO), NA(EARO), RS, and RA.&lt;br /&gt;
- Developed and integrated helper methods for parsing and validating ND packets, enhancing modularity and code reuse.&lt;br /&gt;
- Created initial unit tests in sixlowpan-nd-packet-test.cc to validate correctness of packet serialisation and deserialisation logic.&lt;br /&gt;
&lt;br /&gt;
* '''Community Bonding Period Week 3 (May 25 - June 1)'''&lt;br /&gt;
- Analyzed the sixlowpan-ping-test.cc example to understand and reproduce the issue of concurrent address registrations, as outlined in the original project proposal.&lt;br /&gt;
- Conducted a detailed review of the NdiscCache implementation, focusing on the neighbor cache state transitions (e.g., STALE, REACHABLE, TENTATIVE, REGISTERED) during the address registration lifecycle.&lt;br /&gt;
- Configured code linting tools and integrated debugging support within the development environment to streamline diagnostics and maintain code quality.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 2 - June 8)'''&lt;br /&gt;
- Introduced a formalized, serial address registration state machine for 6LNs to ensure one address is registered at a time, eliminating issues caused by concurrent registrations. The full design rationale and implementation details were documented in the Phase 1 report for reference and future extensibility.&lt;br /&gt;
- Implemented clear control flow for AddressRegistration, AddressRegistrationTimeout, and AddressRegistrationSuccess to manage state transitions during the registration lifecycle in a structured and predictable manner.&lt;br /&gt;
- Removed outdated and redundant scheduling logic (e.g., AddressReRegistration()), reducing code complexity and improving maintainability.&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 9 - June 15)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 16 - June 22)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 23 - 29)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 30 - July 6)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 7 - July 13)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 14 - July 20)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13617</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13617"/>
		<updated>2025-07-20T14:29:24Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period (May 8 - May 31)'''&lt;br /&gt;
- Read up on RFC8505, RFC6775 and RFC4861 to understand the underlying Ipv6 Neighbour Discovery that 6LoWPAN aims to replace.&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 1 - June 7)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 8 - June 14)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 15 - June 21)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 22 - 28)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 29 - July 5)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 6 - July 12)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 12 - July 19)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13616</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13616"/>
		<updated>2025-07-20T14:28:03Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* '''Community Bonding Period (May 8 - May 31)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 1 (June 1 - June 7)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 2 (June 8 - June 14)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 3 (June 15 - June 21)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 4 (June 22 - 28)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 5 (June 29 - July 5)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 6 (July 6 - July 12)'''&lt;br /&gt;
&lt;br /&gt;
* '''Week 7 (July 12 - July 19)'''&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13615</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13615"/>
		<updated>2025-07-20T14:27:23Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* Community Bonding Period (May 8 - May 31)&lt;br /&gt;
&lt;br /&gt;
* Week 1 (June 1 - June 7)&lt;br /&gt;
&lt;br /&gt;
* Week 2 (June 8 - June 14)&lt;br /&gt;
&lt;br /&gt;
* Week 3 (June 15 - June 21)&lt;br /&gt;
&lt;br /&gt;
* Week 4 (June 22 - 28)&lt;br /&gt;
&lt;br /&gt;
* Week 5 (June 29 - July 5)&lt;br /&gt;
&lt;br /&gt;
* Week 6 (July 6 - July 12)&lt;br /&gt;
&lt;br /&gt;
* Week 7 (July 12 - July 19)&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13614</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13614"/>
		<updated>2025-07-20T14:25:31Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
* Community Bonding Period (May 8-31, 2025)&lt;br /&gt;
&lt;br /&gt;
* Week 1 (June 1-7, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 2 (June 8-14, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 3 (June 15-21, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 4 (June 22-28, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 5 (June 29-July 5, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 6 (July 6-July 12, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 7 (July 6-July 12, 2025)&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13613</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13613"/>
		<updated>2025-07-20T14:25:10Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Weekly Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
- Community Bonding Period (May 8-31, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 1 (June 1-7, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 2 (June 8-14, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 3 (June 15-21, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 4 (June 22-28, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 5 (June 29-July 5, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 6 (July 6-July 12, 2025)&lt;br /&gt;
&lt;br /&gt;
- Week 7 (July 6-July 12, 2025)&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13612</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13612"/>
		<updated>2025-07-20T14:03:46Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Weekly Updates =&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13611</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13611"/>
		<updated>2025-07-20T14:02:52Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Update Sphynx documentation to reflect newly supported topologies and features as part of the second phase&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
** Add 6CIO Option in RS / RA packets&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Simulate multi-hop topology using Ipv6StaticRouting to emulate RPL behavior in its absence&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13585</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13585"/>
		<updated>2025-06-30T14:56:52Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add 6LR&lt;br /&gt;
** Add working Transaction ID validation (RFC8505 5.2)&lt;br /&gt;
**&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13581</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13581"/>
		<updated>2025-06-26T18:40:56Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Add Sphinx documentation detailing 6LoWPAN&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13568</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13568"/>
		<updated>2025-06-20T12:55:53Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Update Sphinx documentation&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Unit tests for packet parsing and packet validation&lt;br /&gt;
** Tests for address registration of 1-10 6LNs with 1 6LBR&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13567</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13567"/>
		<updated>2025-06-20T12:35:46Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Update Sphinx documentation&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
* Tests&lt;br /&gt;
** Add tests&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13566</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13566"/>
		<updated>2025-06-20T12:34:42Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
** Create report documenting design choices&lt;br /&gt;
** Update Sphinx documentation&lt;br /&gt;
&lt;br /&gt;
* Features&lt;br /&gt;
** Add working ROVR generation and validation&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13560</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13560"/>
		<updated>2025-06-18T17:08:42Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13559</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13559"/>
		<updated>2025-06-18T17:08:26Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&lt;br /&gt;
[https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2482 Pull Request]&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13558</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13558"/>
		<updated>2025-06-18T15:05:34Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
* Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
* Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13557</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13557"/>
		<updated>2025-06-18T12:40:30Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
'''Extra'''&lt;br /&gt;
* Additions:&lt;br /&gt;
** Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
** Add support for RFC8505 EARO fields in packet dissection in Wireshark&lt;br /&gt;
** Document tweaks made to address registration delays&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13545</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13545"/>
		<updated>2025-06-08T15:12:06Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
** Helper methods to parse and validate packets: Extract helper methods for parsing and validating ND packets to improve modularity and readability. &amp;lt;br /&amp;gt;&lt;br /&gt;
** General code cleanup: Restructure code in sixlowpan-nd-protocol.h/cc and remove unnecessary comments &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
** Disabling DAD: Disable DAD when necessary to comply with 6LoWPAN ND scenarios that bypass traditional IPv6 DAD &amp;lt;br /&amp;gt;&lt;br /&gt;
** Address Registration Fixes: Analyse address registration flow, identify and fix bugs to ensure working address bootstrapping between singular 6LN and 6LBR&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Create detailed flowcharts to visualize key functions and message handling paths in the 6LoWPAN ND protocol logic&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
* Additions:&lt;br /&gt;
** Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13544</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13544"/>
		<updated>2025-06-08T14:58:19Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
Helper methods to parse and validate packets&amp;lt;br /&amp;gt;&lt;br /&gt;
General code cleanup&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
Disabling DAD&amp;lt;br /&amp;gt;&lt;br /&gt;
Address Registration Fixes&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
* Additions:&lt;br /&gt;
Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13543</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13543"/>
		<updated>2025-06-08T14:55:38Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
Helper methods to parse and validate packets&amp;lt;br /&amp;gt;&lt;br /&gt;
General code cleanup&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
Disabling DAD&amp;lt;br /&amp;gt;&lt;br /&gt;
Address Registration Fixes&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
* Additions:&lt;br /&gt;
Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13542</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13542"/>
		<updated>2025-06-08T14:51:42Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
'''Phase 1: Code Cleanup + Implementation with 6LBR and 6LN'''&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
Helper methods to parse and validate packets  &lt;br /&gt;
General code cleanup  &lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
Disabling DAD  &lt;br /&gt;
Address Registration Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD'''&lt;br /&gt;
&lt;br /&gt;
* Additions:&lt;br /&gt;
Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13541</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13541"/>
		<updated>2025-06-08T14:51:18Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
* Code Refactoring  &lt;br /&gt;
Helper methods to parse and validate packets  &lt;br /&gt;
General code cleanup  &lt;br /&gt;
&lt;br /&gt;
* Bug Fixes  &lt;br /&gt;
Disabling DAD  &lt;br /&gt;
Address Registration Fixes  &lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
* Additions:&lt;br /&gt;
Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in [https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02 the following document]&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13540</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13540"/>
		<updated>2025-06-08T14:50:07Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
- Code Refactoring&lt;br /&gt;
Helper methods to parse and validate packets&lt;br /&gt;
General code cleanup&lt;br /&gt;
&lt;br /&gt;
- Bug Fixes&lt;br /&gt;
Disabling DAD&lt;br /&gt;
Address Registration Fixes&lt;br /&gt;
&lt;br /&gt;
- Documentation&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
- Additions:&lt;br /&gt;
Add the all fields in the EARO used in Send-NS(EARO) and Receive-NA(EARO) message as defined in the following document https://datatracker.ietf.org/doc/html/draft-ietf-6lo-updating-rfc-8928-02&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13532</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13532"/>
		<updated>2025-06-03T18:43:58Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Project Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-dev repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13531</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13531"/>
		<updated>2025-06-03T18:43:28Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Project Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRt link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13530</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13530"/>
		<updated>2025-06-03T18:26:21Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Project Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Proposal:''' [https://drive.google.com/file/d/1zl9Lx_-Br23NLtHfu8sGM694UrN5sc5o/view?usp=sharing link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13529</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13529"/>
		<updated>2025-06-03T18:19:07Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc5175 RFC5175 IPv6 Router Advertisement Flags Option]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13528</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13528"/>
		<updated>2025-06-03T18:17:48Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.sciencedirect.com/science/article/pii/S1389128624003670 Is 6LoWPAN-ND necessary? (Spoiler alert: Yes)]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13513</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13513"/>
		<updated>2025-05-24T19:21:55Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Project Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''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!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13512</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13512"/>
		<updated>2025-05-24T19:18:51Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
Phase 1: Code Cleanup + Implementation with 6LBR and 6LN&lt;br /&gt;
&lt;br /&gt;
Phase 2: Implementation of EDAR/EDAC messages for multi-hop DAD&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13511</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13511"/>
		<updated>2025-05-24T19:17:39Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 Neighbor Discovery for IP version 6 (IPv6)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13510</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13510"/>
		<updated>2025-05-24T19:17:16Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 https://datatracker.ietf.org/doc/html/rfc4861]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13509</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13509"/>
		<updated>2025-05-24T19:16:48Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861 https://datatracker.ietf.org/doc/html/rfc4861]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless&lt;br /&gt;
                   Personal Area Networks (6LoWPANs)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505 Registration Extensions for IPv6 over&lt;br /&gt;
 Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13508</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13508"/>
		<updated>2025-05-24T19:15:55Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc6775 RFC6775]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc4861 RFC4861]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13507</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13507"/>
		<updated>2025-05-24T19:14:29Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
RFC6775&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 RFC8505]&lt;br /&gt;
RFC4861&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13506</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13506"/>
		<updated>2025-05-24T19:14:17Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
RFC6775&lt;br /&gt;
[https://datatracker.ietf.org/doc/html/rfc8505 TextRFC8505]&lt;br /&gt;
RFC4861&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13505</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13505"/>
		<updated>2025-05-24T19:13:19Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Readings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13504</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13504"/>
		<updated>2025-05-24T19:12:43Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Project Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' &lt;br /&gt;
* '''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).&lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
RFC4861&lt;br /&gt;
RFC6775&lt;br /&gt;
RFC8505&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13503</id>
		<title>GSOC20256LoWPAN</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC20256LoWPAN&amp;diff=13503"/>
		<updated>2025-05-24T18:34:58Z</updated>

		<summary type="html">&lt;p&gt;Jieqiboh: /* Project Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Back to [[Summer_Projects#Google_Summer_of_Code_2025 | GSoC 2025 projects]]&lt;br /&gt;
&lt;br /&gt;
= Project Overview =&lt;br /&gt;
&lt;br /&gt;
* '''Project Name:''' 6LoWPAN Neighbor Discovery Protocol&lt;br /&gt;
* '''Student:''' Boh Jie Qi&lt;br /&gt;
* '''Mentors:''' Tommaso Pecorella and Adnan Rashid&lt;br /&gt;
* '''Google page:''' [https://summerofcode.withgoogle.com/programs/2025/projects/DCsjRKRtText link]&lt;br /&gt;
* '''Project Proposal:''' 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).&lt;br /&gt;
* '''Project Goals:'''  &lt;br /&gt;
* '''Repository:''' [https://gitlab.com/jieqiboh5836/ns-3-devText repo]&lt;br /&gt;
* '''About Me:''' I am a pre-final undergraduate student at the National University of Singapore&lt;br /&gt;
&lt;br /&gt;
= Readings =&lt;br /&gt;
RFC4861&lt;br /&gt;
RFC6775&lt;br /&gt;
RFC8505&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;/div&gt;</summary>
		<author><name>Jieqiboh</name></author>
	</entry>
</feed>