Managing logical network interconnects
Logical Network Interconnects allow you to stretch logical networks across multiple data center sites by linking them through a Fabric Interconnect. This enables workloads in different locations to share the same Layer 2/Layer 3 network using DCI-EVPN.
What a logical network interconnect is
Section titled “What a logical network interconnect is”A Logical Network Interconnect is a resource that:
- Groups one or more logical networks that should be extended across sites
- References a Fabric Interconnect that provides the underlying physical and BGP connectivity
- Is assigned a transport ID (allocated automatically from the range 999999999—900000000, descending) used for overlay encapsulation between sites
- Tracks its own activation status independently from the Fabric Interconnect
Currently the only supported kind is dci-evpn.
How it works
Section titled “How it works”The relationship between the key resources is:
Fabric Interconnect (physical links + BGP templates) └── Logical Network Interconnect (overlay identity + transport ID) ├── Logical Network A (site 1) └── Logical Network B (site 2)- A Fabric Interconnect defines which network devices are physically connected between sites and how BGP peering is configured.
- A Logical Network Interconnect sits on top of a Fabric Interconnect and defines which logical networks should be reachable across sites through a shared transport ID.
- You add individual logical networks from different fabrics/sites to the interconnect, and MetalSoft extends the overlay (VXLAN with EVPN) between them.
Status lifecycle
Section titled “Status lifecycle”Logical Network Interconnects and their logical network memberships follow a four-state lifecycle:
| Status | Description |
|---|---|
| pending_activation | MetalSoft creates the interconnect or membership and waits for the next deployment to activate it. |
| active | MetalSoft deploys the interconnect and extends the logical networks across sites. |
| pending_deletion | MetalSoft receives a delete request and waits for the next deployment to remove it. |
| deleting | MetalSoft is removing the interconnect or membership from the network devices. |
Creating a logical network interconnect
Section titled “Creating a logical network interconnect”Prerequisites
Section titled “Prerequisites”- A Fabric Interconnect must exist and be in active status
- At least two logical networks in different fabrics that you want to connect
Using the Admin UI
Section titled “Using the Admin UI”- Navigate to Fabrics and click on the Logical Network Interconnects tab
- Click Add Logical Network Interconnect
- Fill in the required fields:
- Label — a unique identifier (max 63 characters)
- Name — a human-readable name
- Fabric Interconnect — select the Fabric Interconnect to use
- Kind — select
DCI-EVPN
- Click Create
The interconnect is created in pending_activation status.
Using the API
Section titled “Using the API”curl -X POST "https://<your-server>/api/v2/logical-network-interconnects" \ -H "Content-Type: application/json" \ -d '{ "label": "logical-network-interconnect-01", "name": "Primary Logical Network Interconnect", "fabricInterconnectId": 1, "kind": "dci-evpn" }'The kind field defaults to dci-evpn if omitted.
Adding logical networks
Section titled “Adding logical networks”Once the interconnect exists, add the logical networks that should be extended across sites.
Using the API
Section titled “Using the API”curl -X POST "https://<your-server>/api/v2/logical-network-interconnects/{id}/logical-networks" \ -H "Content-Type: application/json" \ -d '{ "logicalNetworkId": 10 }'Repeat for each logical network you want to include in the interconnect.
MetalSoft tracks each membership with its own status (starting at pending_activation) and timestamps.
Listing logical networks in an interconnect
Section titled “Listing logical networks in an interconnect”curl "https://<your-server>/api/v2/logical-network-interconnects/{id}/logical-networks"You can filter results by logicalNetworkId and status.
Viewing a specific membership
Section titled “Viewing a specific membership”curl "https://<your-server>/api/v2/logical-network-interconnects/{id}/logical-networks/{logicalNetworkId}"Removing a logical network
Section titled “Removing a logical network”curl -X DELETE "https://<your-server>/api/v2/logical-network-interconnects/{id}/logical-networks/{logicalNetworkId}"Viewing interconnects for a logical network
Section titled “Viewing interconnects for a logical network”You can also look up which interconnects a specific logical network belongs to:
curl "https://<your-server>/api/v2/logical-networks/{id}/logical-network-interconnects"This is useful when troubleshooting connectivity or verifying that a logical network extends correctly to remote sites.
Updating a logical network interconnect
Section titled “Updating a logical network interconnect”You can update the label, name, annotations, kind, and fabric interconnect reference:
curl -X PATCH "https://<your-server>/api/v2/logical-network-interconnects/{id}" \ -H "Content-Type: application/json" \ -H "If-Match: <revision>" \ -d '{ "name": "Updated Interconnect Name" }'The If-Match header must contain the current revision to prevent concurrent modification conflicts.
Deleting a logical network interconnect
Section titled “Deleting a logical network interconnect”Before deleting, remove all logical networks from the interconnect or ensure they are no longer needed.
curl -X DELETE "https://<your-server>/api/v2/logical-network-interconnects/{id}" \ -H "If-Match: <revision>"The interconnect transitions to pending_deletion and then deleting before MetalSoft fully removes it.
Listing and filtering
Section titled “Listing and filtering”# List all logical network interconnectscurl "https://<your-server>/api/v2/logical-network-interconnects"
# Filter by fabric interconnectcurl "https://<your-server>/api/v2/logical-network-interconnects?filter.fabricInterconnectId=\$eq:1"
# Filter by statuscurl "https://<your-server>/api/v2/logical-network-interconnects?filter.status=\$eq:active"
# Filter by transport IDcurl "https://<your-server>/api/v2/logical-network-interconnects?filter.transportId=\$eq:999999999"
# Search by name or labelcurl "https://<your-server>/api/v2/logical-network-interconnects?search=primary"Annotations
Section titled “Annotations”Logical Network Interconnects support a free-form annotations object for storing additional metadata as key-value string pairs. You can use this for tagging, organizational purposes, or integration with external systems.
curl -X PATCH "https://<your-server>/api/v2/logical-network-interconnects/{id}" \ -H "Content-Type: application/json" \ -H "If-Match: <revision>" \ -d '{ "annotations": { "environment": "production", "region": "us-east" } }'Set a key to null to remove an annotation.
Example: connecting two sites
Section titled “Example: connecting two sites”This example shows the complete flow for extending a logical network between two data center sites.
Prerequisites:
- Site A has fabric ID 1 with logical network ID 10
- Site B has fabric ID 2 with logical network ID 20
- A Fabric Interconnect (ID 1) already connects the two fabrics and is in active status
Step 1: Create the Logical Network Interconnect
curl -X POST "https://<your-server>/api/v2/logical-network-interconnects" \ -H "Content-Type: application/json" \ -d '{ "label": "site-a-to-site-b", "name": "Site A to Site B Interconnect", "fabricInterconnectId": 1 }'Note the returned id (e.g. 5).
Step 2: Add logical networks from both sites
# Add logical network from Site Acurl -X POST "https://<your-server>/api/v2/logical-network-interconnects/5/logical-networks" \ -H "Content-Type: application/json" \ -d '{"logicalNetworkId": 10}'
# Add logical network from Site Bcurl -X POST "https://<your-server>/api/v2/logical-network-interconnects/5/logical-networks" \ -H "Content-Type: application/json" \ -d '{"logicalNetworkId": 20}'Step 3: Verify the configuration
curl "https://<your-server>/api/v2/logical-network-interconnects/5/logical-networks"Both logical networks appear with status pending_activation. After the next deployment cycle they transition to active, and workloads on both sites can communicate over the extended overlay network.
Related topics
Section titled “Related topics”- Managing Fabric Interconnects — the physical layer that Logical Network Interconnects build upon
- Creating a Logical Network — how to create the logical networks that are extended across sites
- Managing Route Domains — for L3 isolation across interconnected sites