Inmanta Connect Module

The Connect module automates provisioning and lifecycle management of network connectivity services across multi-vendor environments. It provides a MEF-inspired API for defining services, decomposes end-to-end connections into individual network segments, and stitches them together across heterogeneous network domains.

Services

User Network Interface (UNI)

Represents and manages a customer attachment point on the provider network. A UNI maps to one or more physical ports, supporting both single-homed and multi-homed (LAG with EVPN Ethernet Segment) configurations.

L2 Connect

Layer 2 connectivity between UNIs. The service is decomposed into typed segments (VPLS, VPWS, ring, bridge, link, PON) that are individually realized on network devices and connected through shared nodes. Supports LDP and EVPN backends with configurable bandwidth and MAC filtering.

Carrier Ethernet EVC

MEF-compliant Ethernet Virtual Connection service providing E-Line (point-to-point) and E-LAN (multipoint) with bandwidth profiles and VLAN mapping per the MEF 10.4 specification.

L3 VPN

Layer 3 Virtual Private Network with MPLS transport (LDP or SR-MPLS). Supports dual-stack IPv4/IPv6, per-endpoint BGP or static routing, BFD, bandwidth management, and firewall rules.

Direct Internet Access (DIA)

Internet access service provisioned through a dedicated VRF with point-to-point addressing, supporting static and BGP routing with BFD.

Multi-Vendor Support

Vendor

Platform

Protocol

Services

Nokia

SR-OS

NETCONF

UNI, L2 Connect, EVC, L3 VPN, DIA

Nokia

SR Linux

gNMI

L2 Connect (ring, bridge), L3 VPN CPE, DIA CPE

Cisco

IOS-XR

NETCONF

UNI, L2 Connect, EVC, L3 VPN

Cisco

IOS-XE

NETCONF

UNI, EVC

Juniper

MX

NETCONF

UNI, L2 Connect, EVC, L3 VPN, DIA

MikroTik

RouterOS

RouterOS

UNI, L2 Connect (bridge)

Tibit

OLT/ONT

REST

L2 Connect (PON)

Configuration

Connect is configured through a YAML file (connect-config.yaml) in the project’s files directory:

connect-project/
├── files
│   └── connect-config.yaml
├── main.cf
└── project.yml

All configuration options have meaningful defaults – an empty file ({}) is a valid minimal configuration. The configuration controls allocation ranges, naming templates, vendor-specific parameters, QoS policies, feature toggles, and inventory settings.

Documentation

Full documentation is available in the docs/ directory, covering: