/pathfinder

Kytos main path finder Network Application (NApp)

Primary LanguagePythonMIT LicenseMIT

Overview

WARNING: As previously announced on our communication channels, the Kytos project will enter the "shutdown" phase on May 31, 2021. After this date, only critical patches (security and core bug fixes) will be accepted, and the project will be in "critical-only" mode for another six months (until November 30, 2021). For more information visit the FAQ at <https://kytos.io/faq>. We'll have eternal gratitude to the entire community of developers and users that made the project so far.

License Build status Code coverage Code-quality score

Attention!

THIS NAPP IS STILL EXPERIMENTAL AND IT'S EVENTS, METHODS AND STRUCTURES MAY CHANGE A LOT ON THE NEXT FEW DAYS/WEEKS, USE IT AT YOUR OWN DISCERNEMENT

The NApp kytos/pathfinder is a NApp responsible for creating a graph with the latest network topology and providing rest endpoint to calculate the best path between two devices. In the network, each device is a host or a switch and each link is a connection between two devices. In the graph, each device represents a node and each link represents an edge between two nodes.

The NApp learns custom properties from the topology, being able to define the best paths based on a weighted parmeter. Please see the Rest API documentation for details.

Installing

All of the Kytos Network Applications are located in the NApps online repository. To install this NApp, run:

$ kytos napps install kytos/pathfinder

Requirements

  • kytos/topology

Events

Listen

kytos/topology.updated

buffer: app

Listening on this event will make sure that this NApp has the lateste topology.

Content
{
  'topology': <Topology object>
}

Rest API

You can find a list of the available endpoints and example input/output in the 'REST API' tab in this NApp's webpage in the Kytos NApps Server.