Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This entire project is written in Python as a proof of concept for GRAMI. However, this was my first Python project so it is not written in a "Pythonic" way.

This project was tested with Cpqd switches and RYU controller.

The files are divided between 3 projects: Infrastructure project - For sending the probe packets, analyzing them and installing the flow entries. NOTE that I also implemented a 3 flow entries version that works slightly different. OverlayNetwork project - For creating and testing an overlay network for GRAMI. Topology project - For parsing topology files and creating topologies for Mininet.

Infrastructure project files:

  • ActionsGenerator - Generates the actions for the controller.

  • Analyzer - Send probe packets for topology discovery in the controller, for flow entries and for network analysis. Analyze the results online and presents them without saving to file.

  • Controller - Controller application for Ryu.

  • ExtraLayers - Contains constants and creates extra layer given layers from Scapy.

  • myPackets- Used by Analyzer to create and analyze the information of the probe packets.

Test related files (used to test GRAMI):

  • pingAnalyzer - Analyze the results for ping (test1).
  • pingSender - Send ICMP messages and create the listening file.

^ testAnalyzer - Analyze the results for the probe packets. ^ testSender- Automatically sends all the packets, including creating topology, installing the flow entries and sending the probe packets.

? forwardingAnalyzer - Analyze the results for pure forwarding. ? forwardingSender - Automatically sends the packets for creating the pure switching in the controller the probe packets.

OverlayNetwork project files:

  • OverlayNetwork - Contains the code and algorithm for creating the overlay network.

  • OverlayNetworkTester - Contains code for testing creation of different overlay networks.

Topology project files:

  • CreateInfoFromGml - Code for creating a sample topology for Mininet from GML files.


Granular RTT measurement infrastructure for OpenFlow networks.



No releases published


No packages published