Skip to content

Managing Bonds

Bonds (LAG and MLAG) let you aggregate multiple physical links between devices into a single logical connection for increased bandwidth and redundancy. Metalsoft supports bonds at two levels:

  • Underlay bonds — between network infrastructure devices (switch-to-switch, or switch-to-external-system such as a storage pool). These are created by the administrator via the Fabric Manager topology UI and are described in the first section below.
  • Overlay bonds — between servers and switches. These are created by the user via the Infrastructure Designer by selecting a redundancy level for a server-to-logical-network connection. The system determines which interfaces to bond based on the physical cabling. These are described in the second section below.

Underlay bonds — Creating bonds via the Fabric Manager

Section titled “Underlay bonds — Creating bonds via the Fabric Manager”

Bond creation in the Fabric Manager follows a three-layer workflow in the topology diagram: first define the physical cabling, then optionally set up MLAG peer links, then create the bonds themselves.

Section titled “Step 1 — Define physical links (Physical Cabling Layer)”

In the Physical (cabling) Layer of the topology diagram, draw the physical cables between devices.

The two relevant entity types are Network Devices (switches) and External Systems. An External System represents the far end of a link that Metalsoft does not control — for example, a storage pool or an upstream router. When drawing a cable to an External System you only need to specify the switch port on the switch side; no interface is required on the External System side.

Example: to bond two leaf switch ports to a storage pool, draw:

  • A cable from leaf01, port eth1/5 to the external system my-storage-pool-ext-sys
  • A cable from leaf02, port eth1/5 to the same external system
Section titled “Step 2 — Create an MLAG peer link (Logical Device Layer)”

If you want an MLAG bond (spanning two switches), the two switches must first be paired into an MLAG domain. In the Logical Device Layer:

  1. Click on the physical link between the two switches.
  2. The Create MLAG Peer Link form opens — select the physical links that will carry MLAG peer-link traffic between the switches.
  3. After deploy, a blue MLAG Domain box wraps the two switches to indicate the active pair.

This step is only required for MLAG bonds. For a plain LAG bond between ports on the same switch, skip to Step 3.

Section titled “Step 3 — Create the bond (Logical Link Layer)”

In the Logical Link Layer, each switch, external system, and MLAG Domain box displays an ethernet cable icon. Drag from one icon to another to create a bond:

  • Drag from an MLAG Domain icon → creates an MLAG bond across the two switches in the pair.
  • Drag from an individual switch icon → creates a LAG bond on that switch only.

In the form that opens, select the physical links that will be members of the bond, then hit Deploy.

On deploy, Metalsoft:

  • Runs the matching link aggregation configuration template on the switch(es).
  • Allocates a port channel ID automatically and marks the interfaces as bonded in the database.

Tip: If you leave the configuration template empty (or set it to a no-op such as # placeholder), Metalsoft will record the bond in its database without pushing any config to the switches. This is useful when the bond already exists on the switches and you do not want Metalsoft to overwrite its configuration.

Usage example: Storage pool connected to an MLAG pair

Section titled “Usage example: Storage pool connected to an MLAG pair”
  1. Go to Fabric ManagerEndpointsExternal Systems and create an external system for the storage pool (e.g. my-storage-pool-ext-sys).
  2. Add the external system to the topology diagram.
  3. In the Physical (cabling) Layer, draw a cable from leaf01 eth1/5 to my-storage-pool-ext-sys.
  4. Draw a cable from leaf02 eth1/5 to my-storage-pool-ext-sys.
  5. In the Logical Device Layer, click the link between leaf01 and leaf02 and create an MLAG peer link.
  6. In the Logical Link Layer, drag a cable from the MLAG Domain icon to my-storage-pool-ext-sys.
  7. Select both physical links (leaf01 eth1/5 and leaf02 eth1/5) as bond members.
  8. Click Deploy.

Note: Configuration templates for link aggregations must be defined before deploy. They can currently be created and managed via the CLI and the API. See the API reference at /api/v2/network-device-link-aggregation-configuration-templates.


Overlay bonds — Server-to-switch bonds via the Infrastructure Designer

Section titled “Overlay bonds — Server-to-switch bonds via the Infrastructure Designer”

Overlay bonds are created by users in the Infrastructure Designer when connecting a server to a logical network. Rather than manually selecting which interfaces to bond, the user simply chooses a redundancy level and Metalsoft determines the appropriate interfaces based on the physical cabling defined in the Fabric Manager.

When adding or editing a server-to-logical-network connection in the Infrastructure Designer, set the Redundancy field to the desired bond type (e.g. LAG or MLAG). Metalsoft will inspect the physical cabling of the server’s interfaces and automatically determine which switch ports to include in the bond.

On deploy, Metalsoft pushes the corresponding configuration to both the switch(es) and the server. If the infrastructure is not deployed, the bond remains in design mode only and no configuration is pushed.

The same server-to-logical-network configuration in the Infrastructure Designer also allows you to attach External Connections. When an external connection is selected, the logical network is transported to that external connection as well. If the external connection’s interfaces are part of a bond (either created via the Fabric Manager or pre-existing on the switch), the VLAN is transported over that bond as described in the How external connections use bonds section below.


When a Logical Network is provisioned over an external connection, the provisioner checks the live state of the interfaces on the switch and automatically uses the port channel if the interfaces are already bonded.

Previously, the provisioner sent per-interface VLAN transport intents. Starting with 7.2.3, the intent sent to the switch microservice is:

“Transport VLAN 100 over leaf01 eth1/5 and leaf02 eth1/5.”

The switch microservice resolves this at provisioning time:

  • If the interfaces are part of a port channel, the VLAN is transported over the port channel.
  • If the interfaces are not bonded, the VLAN is transported over each individual interface as before.

This means that Step 1 (creating the bond via the Fabric Manager) is optional when the bond already exists on the switches. Metalsoft will discover the port channel and use it automatically.

SituationRecommended approach
Switches have no bond; you want Metalsoft to create one on deployComplete all three Fabric Manager steps above (physical links → peer link → bond).
Switches already have a manually configured bondSkip Fabric Manager bond creation. Just add the physical interfaces to the external connection — the provisioner will detect and use the existing port channel.
Switches already have a manually configured bond and you also created a bond in Fabric ManagerEnsure the port channel ID auto-allocated by Metalsoft matches the one on the switch. If there is a mismatch, remove the Fabric Manager bond and rely on auto-detection instead.

Important note on port channel ID mismatches

Section titled “Important note on port channel ID mismatches”

Metalsoft always auto-allocates the port channel ID when creating a bond via the Fabric Manager. There is currently no option to specify a custom LAG ID. If the interfaces were manually bonded on the switch with a specific port channel ID, there is a high likelihood of a mismatch between Metalsoft’s auto-allocated ID and the actual ID on the switch.

In such cases, skip the Fabric Manager bond creation and only configure the external connection with the physical interfaces. The provisioner will find the interfaces already bonded (e.g. as port-channel-50) and transport the VLAN over that bond correctly.