Skip to main content

An Ethernet software-based open source demarcation NID

Project description

vMark-node by Pathgate

An effort towards the first Ethernet software-based open source demarcation NID.

Latest version: 0.3.2 / Release notes: Link

Features:

  • Modular tree-style CLI with tab autocompletions and '?' helper.
  • Shell/Dispatcher/Modules/Plugins architecture.
  • Complete Interface management.
  • GPLv3 License.
  • Add & delete sub.interfaces (QinQ / dual-tags supported) (v0.2)
  • TWAMP Light implementation for End-to-End L3 tests. (ipv4 & ipv6, sender/responder modes). (v0.3)
  • Pypy packaging. (v0.3.1)

Feature roadmap:

  • web GUI (flask).
  • Docker & pip installations.
  • Loopback testing with automatic timeout.
  • RFC2544 reflector.
  • open-BFDD implementation for service assurance (p2p session).
  • fiber-interface management and optic levels monitoring.
  • Enable API-operated dispatcher.
  • SNMP Support.
  • Multi-vendor IPSec Tunnel support.
xxx

# Overview

vMark-node is a software-based open-source Ethernet demarcation NID designed for flexibility and democratization in the Carrier industry.

The "-node"** refers to this being the client-side of vMark server. (vMark-node doenst need vMark to work).

xxx

# Architecture

Shell: Provides command-line auto-completion, some help-related features and dynamically builds the command tree based on the modules and installed plugins. This enables a modular, scalable and re-usable interactive CLI experience.

Dispatcher: Interprets user commands, determines the appropriate module to handle each command, and routes execution accordingly. The dispatcher acts as the central coordinator between the shell and the available modules/plugins, Web-UI and API interactions talk directly with the Dispatcher.

Modules: Shell modules encapsulate core command logic and define the command tree structure. Examples: 'show', 'config', and 'system', each representing a set of related commands and subcommands with item descriptions.

Plugins: Integrate external libraries or tools to extend functionality. For example, plugins can provide access to third-party systems such as OpenBFDD, allowing seamless integration with external services.


Quick Install

gh repo clone https://github.com/xmas-ar/vMark-node.git
cd vMark-node/vMark-node
pip3 install -r requirements.txt
python3 main.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vmark_node-0.3.2.tar.gz (56.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vmark_node-0.3.2-py3-none-any.whl (59.5 kB view details)

Uploaded Python 3

File details

Details for the file vmark_node-0.3.2.tar.gz.

File metadata

  • Download URL: vmark_node-0.3.2.tar.gz
  • Upload date:
  • Size: 56.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for vmark_node-0.3.2.tar.gz
Algorithm Hash digest
SHA256 23fce0e4abc0f721ee175949dfda98c15a14dd572ac73f76245252db87b8cb21
MD5 05550097a022c93a1475b85d33da6ab1
BLAKE2b-256 f08a51f0e3cb2452e36aa4a1dedfb9cef57c5937606df9a0dac69468925d9a08

See more details on using hashes here.

File details

Details for the file vmark_node-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: vmark_node-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 59.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for vmark_node-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1e51d8375297a1a4fbedb7e95f27ef986d52cb92a18a3894bd3a5c4567d116f1
MD5 ec4f4a328346ec3c8d8fbbb6ef1586db
BLAKE2b-256 8e66a0ea4a46d1c60ffbb9b097edf14c50334963eccb4dca270622eb0ea708b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page