DEV Community

Atakan Özcan
Atakan Özcan

Posted on

🚀 From Curiosity to Contribution: Enhancing OMNeT++ Routing with Custom Logic

👋 Getting to Know OMNeT++

Before I dive into the project I worked on with my friend, let me take a moment to introduce the tool that made it all possible: OMNeT++.

OMNeT++ is an open-source discrete event simulation environment that used for modeling communication networks, protocols, different simulation approaches, and more. It’s widely used in academic research, and its extensibility through frameworks like INET, Veins, and Simu5G makes it incredibly well-rounded.

When I first started learning OMNeT++, I was amazed by how visual and programmable it was. Unlike abstract mathematical simulations, OMNeT++ allows you to see packet flows, play with protocols, and write logic in C++.

💡 Why We Started This Project

As part of our academic journey and passion for networking, my friend and I decided to challenge ourselves:

“What if we could improve or extend the existing routing logic used in an OMNeT++ simulation?”

We wanted to:

  • Understand how routing works at a simulation level
  • Customize it with our own logic
  • Measure the performance impact of our changes
  • Compare it to OMNeT++’s default behavior
  • And that’s how our Routing Project began.

Then we asked:

"Can we make routing smarter, more efficient, and measurable?"

A comparison table showing differences between the original OMNeT++ routing setup and the custom routing developed in the project. Highlights include improved logic using FSM, extended performance tracking, support for larger topologies, and modular design enhancements.

🧠 What We Built

Our project includes:

✅ Custom routing modules
✅ FSM (Finite State Machine) logic for routing decisions
✅ Support for multiple network sizes
✅ Exportable metrics (latency, throughput, packet loss, etc.)
✅ Better organization and reusable codebase

We tested the routing on:

  • Net5: A small-scale scenario for debugging and logic testing
  • Net6 0: A complex topology to test scalability and efficiency

📈 What We Learned

Working on this project taught us far more than just writing code. We learned how routing decisions impact network performance, how simulation design affects results, and how performance tuning isn’t just about faster code — it’s about smarter logic.

Here are a few takeaways:

  • FSM structures help route decisions become adaptable and clean
  • Conditional tracking allows metrics to be context-aware
  • Simulation metrics must be meaningful and interpreted carefully
  • Collaboration leads to faster debugging and creative problem solving

⚙️ Here’s the GitHub repository:
👉Routing_Project_OMNeT_
🔗 And check out the announcement on LinkedIn:
👉 LinkedIn

Top comments (2)

Collapse
 
deniz_berkezsoy_e512828 profile image
Deniz Berke ÖZSOY

I am very appreciate to working with you and project we have made. I believe we will do many projects in the future

Collapse
 
atakan_zcan_91a752246563 profile image
Atakan Özcan

👌🧑🏻‍💻