kytos-ng / mef_eline

Kytos NApp to create and manage point-to-point L2 circuits
https://kytos-ng.github.io/api/mef_eline.html
MIT License
0 stars 8 forks source link

|Stable| |Tag| |License| |Build| |Coverage| |Quality|

.. raw:: html

kytos/mef_eline

NApp that manages point to point L2 Ethernet Virtual Circuits

OpenAPI Docs

Overview

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

Features

Installing

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

.. code:: shell

$ 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 <https://github.com/kytos-ng/documentation/blob/master/tutorials/napps/development_environment_setup.rst>_.

Requirements

Events

Subscribed

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.

.. code-block:: python3

{ 'table_group': }

kytos/mef_eline.evcs_loaded


Event with all evcs that got loaded

.. code-block:: python3

  {
    '<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

.. code-block:: python3

{ "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()} }

kytos/mef_eline.failover_deployed


Event published when an EVC failover_path gets deployed. ``flows`` are the new deployed flows, and ``removed_flows`` are the removed ones.

.. code-block:: python3

  {
   evc.id: {
     "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(),
     "flows": [],
     "removed_flows": [],
     "error_reason": string,
     "current_path": evc.current_path.as_dict(),
   }
  }

kytos/mef_eline.failover_link_down

Event published when an EVC failover_path switches over. flows are the new deployed flows.

.. code-block:: python3

{ evc.id: { "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(), "flows": [], } }

kytos/mef_eline.failover_old_path



Event published when an EVC failover related old path gets removed (cleaned up). ``removed_flows`` are the removed flows.

.. code-block:: python3

  {
   evc.id: {
     "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(),
     "removed_flows": [],
     "current_path": evc.current_path.as_dict(),
   }
  }

.. TAGs

.. |Stable| image:: https://img.shields.io/badge/stability-stable-green.svg
   :target: https://github.com/kytos-ng/mef_eline
.. |License| image:: https://img.shields.io/github/license/kytos-ng/kytos.svg
   :target: https://github.com/kytos-ng/mef_eline/blob/master/LICENSE
.. |Build| image:: https://scrutinizer-ci.com/g/kytos-ng/mef_eline/badges/build.png?b=master
   :alt: Build status
   :target: https://scrutinizer-ci.com/g/kytos-ng/kytos/?branch=master
.. |Coverage| image:: https://scrutinizer-ci.com/g/kytos-ng/mef_eline/badges/coverage.png?b=master
   :alt: Code coverage
   :target: https://scrutinizer-ci.com/g/kytos-ng/mef_eline/
.. |Quality| image:: https://scrutinizer-ci.com/g/kytos-ng/mef_eline/badges/quality-score.png?b=master
   :alt: Code-quality score
   :target: https://scrutinizer-ci.com/g/kytos-ng/mef_eline/
.. |Tag| image:: https://img.shields.io/github/tag/kytos-ng/mef_eline.svg
   :target: https://github.com/kytos-ng/mef_eline/tags