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:
Architecture – Service hierarchy, segment decomposition, multi-vendor abstraction
Services Reference – Detailed API for each service type
Supported Features – Platform and feature matrix
Inventory – Inventory integration and UNI resolution
Configuration – Customization options
Extension – How to extend the module
Testing – Running and writing tests
Lab Setup – Setting up development labs