Skip to content

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.

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.

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)
  1. A Fabric Interconnect defines which network devices are physically connected between sites and how BGP peering is configured.
  2. 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.
  3. Individual logical networks from different fabrics/sites are added to the interconnect, causing the overlay (VXLAN with EVPN) to be extended between them.

Logical Network Interconnects and their logical network memberships follow a four-state lifecycle:

StatusDescription
pending_activationThe interconnect or membership has been created and is waiting for the next deployment to activate it.
activeThe interconnect is deployed and the logical networks are extended across sites.
pending_deletionA delete has been requested and is waiting for the next deployment to remove it.
deletingThe interconnect or membership is currently being removed from the network devices.
  • A Fabric Interconnect must exist and should be in active status
  • At least two logical networks in different fabrics that you want to connect
  1. Navigate to Fabrics and click on the Logical Network Interconnects tab
  2. Click Add Logical Network Interconnect
  3. 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
  4. Click Create

The interconnect is created in pending_activation status.

Terminal window
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.

Once the interconnect is created, add the logical networks that should be extended across sites.

Terminal window
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.

Each membership is tracked with its own status (starting at pending_activation) and timestamps.

Listing logical networks in an interconnect

Section titled “Listing logical networks in an interconnect”
Terminal window
curl "https://<your-server>/api/v2/logical-network-interconnects/{id}/logical-networks"

Results can be filtered by logicalNetworkId and status.

Terminal window
curl "https://<your-server>/api/v2/logical-network-interconnects/{id}/logical-networks/{logicalNetworkId}"
Terminal window
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:

Terminal window
curl "https://<your-server>/api/v2/logical-networks/{id}/logical-network-interconnects"

This is useful when troubleshooting connectivity or verifying that a logical network is correctly extended to remote sites.

You can update the label, name, annotations, kind and fabric interconnect reference:

Terminal window
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.

Before deleting, remove all logical networks from the interconnect or ensure they are no longer needed.

Terminal window
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 being fully removed.

Terminal window
# List all logical network interconnects
curl "https://<your-server>/api/v2/logical-network-interconnects"
# Filter by fabric interconnect
curl "https://<your-server>/api/v2/logical-network-interconnects?filter.fabricInterconnectId=\$eq:1"
# Filter by status
curl "https://<your-server>/api/v2/logical-network-interconnects?filter.status=\$eq:active"
# Filter by transport ID
curl "https://<your-server>/api/v2/logical-network-interconnects?filter.transportId=\$eq:999999999"
# Search by name or label
curl "https://<your-server>/api/v2/logical-network-interconnects?search=primary"

Logical Network Interconnects support a free-form annotations object for storing additional metadata as key-value string pairs. This can be used for tagging, organizational purposes or integration with external systems.

Terminal window
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.

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

Terminal window
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

Terminal window
# Add logical network from Site A
curl -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 B
curl -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

Terminal window
curl "https://<your-server>/api/v2/logical-network-interconnects/5/logical-networks"

Both logical networks should appear with status pending_activation. After the next deployment cycle they will transition to active, and workloads on both sites will be able to communicate over the extended overlay network.