GSoC 2025 Proposal - Extending GlobalRouting to IPv6 and Packet Path Tracing

52 views
Skip to first unread message

Dhana sekhar

unread,
Apr 7, 2025, 10:39:48 AMApr 7
to ns-developers
 Dear  Tommaso,
My name is Dhana Sekhar, and Iam writing to express my enthusiastic interest in the IPv6 global routing project for GSoC 2025. I have carefully reviewed the project details and background, and I am excited about the opportunity to contribute to improving IPv6 global routing.


Synopsis

The current Ipv4GlobalRouting module in ns-3 enables users to create complex topologies without needing to manually configure dynamic routing protocols like RIP or OSPF. However, its lack of IPv6 support is a major limitation, particularly as modern networks increasingly migrate to IPv6. This project proposes to implement an Ipv6GlobalRouting module that mirrors the functionality of its IPv4 counterpart, enabling centralized routing table computation without protocol messaging overhead.

Additionally, the project introduces a packet path tracing utility that can be used to inspect the route a packet takes from source to destination based on the computed global routing tables. This aids researchers and developers in debugging and validating network simulations.


Benefits to the Community
  • Provides parity with IPv4 GlobalRouting for IPv6, making it easier to simulate IPv6 networks.

  • Reduces complexity and overhead for users not wanting to deploy full routing protocols.

  • Enhances educational use cases by offering a clear, inspectable routing mechanism.

  • Enables deterministic routing behavior in IPv6 simulations.

  • Facilitates debugging with packet path tracing features.


Deliverables
  1. Ipv6GlobalRouting: A class implementing SPF-based centralized routing for IPv6.

  2. Ipv6GlobalRouteManager: Responsible for computing and installing routes.

  3. Support for Various Address Types: Link-local, global, and scoped multicast IPv6 addresses.

  4. Path Tracing Utility: A function like PrintIpv6RoutePath(Ipv6Address src, Ipv6Address dst).

  5. Helper Class: Ipv6GlobalRoutingHelper to simplify simulation setup.

  6. Unit Tests and Examples: Coverage for common and edge cases.

  7. Documentation: Full usage guide and code documentation.


Technical Approach
  1. Study Existing Code: Analyze how Ipv4GlobalRouting and NixRouting work, especially their SPF algorithms and route installations.

  2. Abstraction and Reuse: Refactor or reuse core components like GlobalRouter, and create shared modules for IPv4 and IPv6 to reduce duplication.

  3. IPv6 Specifics: Implement LSA building and SPF algorithms with awareness of IPv6 semantics.

  4. Routing Table Installation: Populate routing tables with next-hop information using Ipv6RoutingProtocol interface.

  5. Path Tracing:

    • Traverse the routing table from source to destination.

    • Print intermediate nodes and interface addresses.

    • Possibly integrate with packet tracing or a CLI command.

  6. Helper APIs: Create Ipv6GlobalRoutingHelper similar to existing helpers.

  7. Testing: Develop test cases and validate correctness.


Community Bonding:
Interact with mentors, understand expectations, finalize design

Week 1–2:

Study Ipv4GlobalRouting, identify reusable code

Week 3–4:

Implement basic Ipv6GlobalRouting and LSA creation

Week 5–6:

Build SPF computation for IPv6

Week 7–8:

Develop Ipv6GlobalRouteManager to install routes

Week 9–10:

Implement path tracing and PrintIpv6RoutePath utility

Week 11:

Write tests and validate against known topologies

Week 12:

Final cleanup, documentation, evaluation tests

About Me

I am a graduate student with strong proficiency in C++, networking concepts, and familiarity with IPv6 addressing. I have studied the architecture of the routing modules. I am passionate about open-source development and simulation tools for research.

Skills:

  • C++, Python

  • TCP/IP, IPv4/IPv6

This project is a perfect fit for my interests and skills, and I’m excited to contribute to the ns-3 codebase.


Commitment

I am fully committed to working 30+ hours per week for GSoC. I will be available to communicate with my mentor regularly and actively participate in the ns-3 community throughout the summer and beyond.


Contact

Thank you for considering my proposal!


Tom Henderson

unread,
Apr 9, 2025, 12:36:25 PMApr 9
to Dhana sekhar, ns-developers
Dhana,
I'm sorry but GSoC proposals cannot be submitted on the mailing list.
They must have been submitted to Google's summer of code application
site by April 8 (no exceptions to this rule, which is enforced by Google).

- Tom
Reply all
Reply to author
Forward
0 new messages