|Stable| |Tag| |License| |Build| |Coverage| |Quality|
.. raw:: html
kytos/mef_eline
This Napp allows a user to create a point to point L2 Ethernet Virtual Circuit.
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>
_.
kytos/flow_manager <https://github.com/kytos-ng/flow_manager.git>
_kytos/pathfinder <https://github.com/kytos-ng/pathfinder.git>
_kytos/topology <https://github.com/kytos-ng/topology.git>
_amlight/sdntrace_cp <https://github.com/amlight/sdntrace_cp.git>
_MongoDB <https://github.com/kytos-ng/kytos#how-to-use-with-mongodb>
_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
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