GSOC2025Ipv6GlobalRouting
Jump to navigation
Jump to search
Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects
HOWTOs - Installation - Troubleshooting - User FAQ - Samples - Models - Education - Contributed Code - Papers
Back to GSoC 2025 projects
Project Overview
- Project Name: IPv6 Global Routing
- Student: Shashwat Patni
- Mentors: Tommaso Pecorella and Manoj Kumar Rana
- Google page: Link
- Project Goals: The aim of this project is to extend the functionality of GlobalRouting to Ipv6, while maintaining minimal code duplication. Global Routing is based on the OSPFv2 routing protocol and uses the Djikstra Shortest path algorithm to compute paths for a single area network configuration. The problem is that GlobalRouting doesn't work for IPv6, and that's a huge limitation. The goal of the project is to fix that limitation. Deliverables include a working implementation of Ipv6GlobalRouting which handles different Address Types in Ipv6, while also maintaining Minimal Code Duplication.
- Repository: Link
- About Me: I am a Pre-final year CS Undergrad student at Bits-Pilani K. K. Birla Goa Campus (BITS Pilani). I like Exploring and Tinkering with code.I am currently exploring the fields of Computer Networks and Distributed Systems. I enjoy solving problems.
- Proposal: Link
- Design Doc: Link
Milestones
These are the current Macro Goals for the project:
Note: For each phase , the plan is to work in the following order of classes: Interface Classes -> Setup Classes -> Route Computation Classes
Phase 1:
- Port existing Ipv4GlobalRouting to generic GlobalRouting
- Generalize ipv4-global-routing-test-suite and global-route-manager-impl-test-suite
- Create tests and verify GlobalRouting works for Ipv4 after templatization
- Design Tests for Ipv6 Specific Properties for GlobalRouting
- Introduce Type Aliases for IP classes
Phase 2:
- Extend GlobalRouting to IPv6
- Handle the Implementation differences of IPv6
Phase 3:
- Work On suggested Changes
- Add Documentation For IPv6 GlobalRouting
- Prepare edge Testcases, Check for Bugs , fix any remaining issues
- Discuss any new features to GlobalRouting
Weekly Reports
Community Bonding Period
Duration: 8 May - 1 June
- Working on the patch requirement !2434 :Adds the Print Route-Path Functionality to GlobalRouting.
- A Design Document has been created to allow for discussions and evolving the design for the project
Week 1
Duration: 2 June - 9 June
This week we
- Designed Tests For IPv4 GlobalRouting Specifically tests for the GlobalRouteManagerImpl Class
- Created a draft MR For the tests !2471 for review
- There was a discussion on if Link Local Addresses or Global Unicast Addresses Should be used as Next Hops in the RoutingTable Entries.
Week 2
Duration: 10 June - 17 June
This Week the plan is to:
- Start Templatizing the Ipv4GlobalRouting Classes to Generic Classes
- Create a draft MR for the Same
Currently there are two MRs Open for review !2471 and !2434
Week 3
Duration: 18 June - 23 June
This Week we did the following:
- Finished Templatizing ipv4-global-routing classes to generic global-routing classes. The CI and tests pass . The latest version of the code is available at GSoC25
- While Working on tests we found a few bugs in the existing implementation related to Equal Cost Multipath Topologies. We worked on resolving them
- We discussed if a templateless approach is possible . Templates are bad because they create a learning curve for the model and the compiler errors may be cryptic for new users.A hybrid version with minimal templatization would be better.