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.3 / 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.3.tar.gz (56.8 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.3-py3-none-any.whl (59.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vmark_node-0.3.3.tar.gz
  • Upload date:
  • Size: 56.8 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.3.tar.gz
Algorithm Hash digest
SHA256 2c67b1286dca24d0794502a98ca596a7cb2118fa535d5f106e7bb6cca7073c8a
MD5 45f4f00abee0bdf716e42b5b2acb3436
BLAKE2b-256 882edf23034fd36c9dcc8e1e9b93a2457d361fa4d9e57cc4f881ba638ff7cf2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vmark_node-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 59.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6af6773282276839ef11d3cfd669ce012dd4068646d644c83bf697f2a2d0a91d
MD5 223196f7c816c6ae20152e73ddb03d5f
BLAKE2b-256 f26c97253fed7c7c826aaadc9e57215d1ae0078c230e22be67f2490f9d9c804b

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