Skip to content

kytos-ng/mef_eline

 
 

Repository files navigation

Stable Tag License Build status Code coverage Code-quality score

kytos/mef_eline

NApp that manages point to point L2 Ethernet Virtual Circuits

Overview

This Napp allows a user to create a point to point L2 Ethernet Virtual Circuit.

Features

  • REST API to create/modify/delete circuits;
  • REST API to create/modify/delete circuit scheduling;
  • list of circuits in memory and also synchronized to a permanent storage;
  • circuits can be installed at time of request or have an installation schedule;
  • circuits can use a predefined path or find a dynamic path;
  • the NApp will move circuits to another path in case of a link down;
  • web UI for circuits management.

Installing

To install this NApp, first, make sure to have the same venv activated as you have kytos installed on:

$ git clone https://github.com/kytos-ng/mef_eline.git
$ cd mef_eline
$ python3 -m pip install --editable .

To install the kytos environment, please follow our development environment setup.

Requirements

Events

Subscribed

  • kytos/topology.topology_loaded
  • kytos/topology.link_up
  • kytos/topology.link_down
  • kytos/flow_manager.flow.error
  • kytos/flow_manager.flow.removed
  • kytos/of_multi_table.enable_table

Published

kytos/mef_eline.created

Event reporting that a L2 circuit was created.

kytos/mef_eline.enable_table

A response from the kytos/of_multi_table.enable_table event to confirm table settings.

{
  'table_group': <object>
}

kytos/mef_eline.evcs_loaded

Event with all evcs that got loaded

{
  '<evc_id>': <dict>
}

kytos/mef_eline.uni_active_updated

Event published when an EVC active state changes due to a UNI going up or down

{
 "id", evc.id,
 "evc_id": evc.id,
 "name": evc.name,
 "metadata": evc.metadata,
 "active": evc._active,
 "enabled": evc._enabled,
 "uni_a": evc.uni_a.as_dict(),
 "uni_z": evc.uni_z.as_dict()}
}

About

Kytos NApp to create and manage point-to-point L2 circuits

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%