Managing Fabric Interconnects
Fabric Interconnects define the physical and logical connections between network fabrics, typically across different data center sites. They enable Data Center Interconnect (DCI) scenarios where workloads and logical networks need to stretch across locations.
What is a Fabric Interconnect?
Section titled “What is a Fabric Interconnect?”A Fabric Interconnect is a resource that:
- Connects two or more network fabrics by defining links between their network devices
- Carries BGP configuration and neighbor templates that control how the interconnected switches peer with each other
- Supports a deploy workflow with preview, confirmation, accept and reject steps
- Uses a transport ID for overlay encapsulation across sites
Currently the supported interconnect type is DCI-EVPN, which uses EVPN with BGP to establish peering between border/spine switches in different fabrics, allowing VXLAN overlays to be extended across sites.
Interconnect status lifecycle
Section titled “Interconnect status lifecycle”Fabric Interconnects follow a two-state lifecycle:
| Status | Description |
|---|---|
| draft | The interconnect has been created but is not yet active. Links, templates and configuration can be modified freely. This is the default status on creation. |
| active | The interconnect has been deployed and the BGP configuration has been pushed to the network devices. |
Creating a Fabric Interconnect
Section titled “Creating a Fabric Interconnect”Using the Admin UI
Section titled “Using the Admin UI”- Navigate to Fabrics and click on the Fabric Interconnects tab
- Click Add Fabric Interconnect
- Fill in the required fields:
- Label — a unique identifier (max 63 characters)
- Name — a human-readable name
- Description — a short description of the interconnect’s purpose
- Type — select
DCI-EVPN
- Optionally configure the BGP templates (see BGP templates below)
- Click Create
The interconnect is created in draft status.
Using the API
Section titled “Using the API”curl -X POST "https://<your-server>/api/v2/network-fabric-interconnects" \ -H "Content-Type: application/json" \ -d '{ "interconnectType": "dci-evpn", "label": "dci-evpn-interconnect-01", "name": "Primary DCI EVPN Interconnect", "description": "Data center interconnect using EVPN", "bgpConfigurationTemplate": "<base64-encoded-template>", "bgpNeighborTemplate": "<base64-encoded-template>" }'Retrieving a default template
Section titled “Retrieving a default template”Before creating an interconnect you can retrieve the default BGP templates for an interconnect type:
curl "https://<your-server>/api/v2/network-fabric-interconnects/template/dci-evpn"This returns a NetworkFabricInterconnectTemplate with default bgpConfigurationTemplate and bgpNeighborTemplate values that you can customize before creating the interconnect.
Managing interconnect links
Section titled “Managing interconnect links”Interconnect links define the physical connections between network devices in different fabrics. Each link specifies a pair of network devices (one from each fabric) that are directly connected.
Adding a link
Section titled “Adding a link”Each link requires:
- fabricAId — the ID of the first fabric
- fabricANetworkEquipmentId — the ID of the network device in fabric A
- fabricBId — the ID of the second fabric
- fabricBNetworkEquipmentId — the ID of the network device in fabric B
Using the Admin UI
Section titled “Using the Admin UI”- Open the fabric interconnect and go to the Links tab
- Click Add Link
- Select the two fabrics and network devices that are physically connected
- Click Create
Using the API
Section titled “Using the API”curl -X POST "https://<your-server>/api/v2/network-fabric-interconnects/{id}/links" \ -H "Content-Type: application/json" \ -d '{ "fabricAId": 1, "fabricANetworkEquipmentId": 10, "fabricBId": 2, "fabricBNetworkEquipmentId": 20 }'Listing links
Section titled “Listing links”curl "https://<your-server>/api/v2/network-fabric-interconnects/{id}/links"Results can be filtered by fabricAId, fabricBId, fabricANetworkEquipmentId or fabricBNetworkEquipmentId.
Deleting a link
Section titled “Deleting a link”curl -X DELETE "https://<your-server>/api/v2/network-fabric-interconnects/{id}/links/{linkId}" \ -H "If-Match: <revision>"Viewing associated fabrics
Section titled “Viewing associated fabrics”You can list the fabrics that are part of an interconnect, as well as fabrics that are available to be added:
# Fabrics currently in this interconnectcurl "https://<your-server>/api/v2/network-fabric-interconnects/{id}/fabrics"
# Available fabrics that can be addedcurl "https://<your-server>/api/v2/network-fabric-interconnects/{id}/fabrics-available"You can also list the interconnects associated with a specific fabric:
curl "https://<your-server>/api/v2/network-fabrics/{networkFabricId}/network-fabric-interconnects"BGP templates
Section titled “BGP templates”Fabric Interconnects use two BGP templates that control the switch configuration generated during deployment:
- bgpConfigurationTemplate — the global BGP configuration applied to each network device in the interconnect. This typically includes BGP router-id, address families and EVPN settings.
- bgpNeighborTemplate — the per-neighbor BGP configuration applied for each remote peer. This typically includes the neighbor address, remote ASN and address family activation.
Both templates are stored as strings and support template variables. The following variables are available in the interconnect template record set:
| Variable | Description |
|---|---|
local_id | Database ID of the local network device |
remote_id | Database ID of the remote network device |
local_asn | BGP ASN assigned to the local network device |
remote_asn | BGP ASN assigned to the remote network device |
local_loopback_ipv4 | Loopback IPv4 address of the local device |
remote_loopback_ipv4 | Loopback IPv4 address of the remote device |
local_vtep_ipv4 | VTEP IPv4 address of the local device |
remote_vtep_ipv4 | VTEP IPv4 address of the remote device |
local_vtep_external_ipv4 | External VTEP IPv4 address of the local device |
remote_vtep_external_ipv4 | External VTEP IPv4 address of the remote device |
Templates can be updated on an existing interconnect:
curl -X PATCH "https://<your-server>/api/v2/network-fabric-interconnects/{id}" \ -H "Content-Type: application/json" \ -H "If-Match: <revision>" \ -d '{ "bgpConfigurationTemplate": "<updated-base64-template>", "bgpNeighborTemplate": "<updated-base64-template>" }'Deploying a Fabric Interconnect
Section titled “Deploying a Fabric Interconnect”Once the interconnect has been configured with links and templates, it can be deployed to push the BGP configuration to the network devices. The deploy process supports an optional confirmation step that lets you review the changes before they are applied.
Step 1: Initiate the deployment
Section titled “Step 1: Initiate the deployment”curl -X POST "https://<your-server>/api/v2/network-fabric-interconnects/{id}/actions/deploy" \ -H "Content-Type: application/json" \ -d '{ "requireConfirmation": true }'- If
requireConfirmationistrue, the deployment pauses after generating a preview. The interconnect’sdeployPreviewfield is populated with the configuration changes that will be applied to each network device. You must then accept or reject the deployment. - If
requireConfirmationisfalse, the deployment proceeds immediately.
The response includes a JobInfo object that can be used to track the deployment progress.
Step 2: Review the deploy preview
Section titled “Step 2: Review the deploy preview”After initiating a deployment with confirmation, retrieve the interconnect to see the preview:
curl "https://<your-server>/api/v2/network-fabric-interconnects/{id}"The deployPreview array contains an entry for each affected network device with:
- globalTemplateActivate — global BGP configuration commands to be applied
- neighborTemplateActivate — per-neighbor BGP commands to be applied
- globalTemplateDeactivate — global BGP configuration commands to be removed
- neighborTemplateDeactivate — per-neighbor BGP commands to be removed
Step 3: Accept or reject
Section titled “Step 3: Accept or reject”After reviewing the preview:
# Accept the deployment -- applies the configurationcurl -X POST "https://<your-server>/api/v2/network-fabric-interconnects/{id}/actions/accept-deploy"
# Reject the deployment -- discards the pending changescurl -X POST "https://<your-server>/api/v2/network-fabric-interconnects/{id}/actions/reject-deploy"Once accepted, the interconnect transitions from draft to active status.
Deploy workflow summary
Section titled “Deploy workflow summary”draft ──► deploy (requireConfirmation: true) ──► review preview ──► accept-deploy ──► active └─► reject-deploy ──► draft
draft ──► deploy (requireConfirmation: false) ──────────────────────────────────────► activeUpdating a Fabric Interconnect
Section titled “Updating a Fabric Interconnect”You can update the label, name, description and BGP templates of an existing interconnect:
curl -X PATCH "https://<your-server>/api/v2/network-fabric-interconnects/{id}" \ -H "Content-Type: application/json" \ -H "If-Match: <revision>" \ -d '{ "name": "Updated DCI Interconnect Name", "description": "Updated description" }'The If-Match header must contain the current revision to prevent concurrent modification conflicts.
Deleting a Fabric Interconnect
Section titled “Deleting a Fabric Interconnect”Before deleting a Fabric Interconnect, ensure no Logical Network Interconnects reference it.
curl -X DELETE "https://<your-server>/api/v2/network-fabric-interconnects/{id}"Listing and filtering
Section titled “Listing and filtering”# List all interconnectscurl "https://<your-server>/api/v2/network-fabric-interconnects"
# Filter by statuscurl "https://<your-server>/api/v2/network-fabric-interconnects?filter.status=\$eq:active"
# Search by namecurl "https://<your-server>/api/v2/network-fabric-interconnects?search=primary"Network device requirements for DCI
Section titled “Network device requirements for DCI”To participate in a DCI-EVPN fabric interconnect, network devices should have the following properties configured:
- Loopback IPv4 address — used as BGP router-id and VTEP source
- External VTEP IPv4 address — the VTEP address reachable from remote sites (may differ from the local VTEP if NAT is involved)
- ASN — assigned from the fabric’s ASN ranges
These can be configured on the network device via the network device management page.
Related topics
Section titled “Related topics”- Managing Route Domains — for L3 isolation across interconnected fabrics
- Managing Network Devices — for configuring device properties needed by interconnects
- Fabrics — for fabric-level configuration