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.
Step 1 — Define physical links (Physical Cabling Layer)
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, porteth1/5to the external systemmy-storage-pool-ext-sys - A cable from
leaf02, porteth1/5to the same external system
Step 2 — Create an MLAG peer link (Logical Device Layer)
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:
- Click on the physical link between the two switches.
- The Create MLAG Peer Link form opens — select the physical links that will carry MLAG peer-link traffic between the switches.
- 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.
Step 3 — Create the bond (Logical Link Layer)
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”- Go to Fabric Manager → Endpoints → External Systems and create an external system for the storage pool (e.g.
my-storage-pool-ext-sys). - Add the external system to the topology diagram.
- In the Physical (cabling) Layer, draw a cable from
leaf01eth1/5tomy-storage-pool-ext-sys. - Draw a cable from
leaf02eth1/5tomy-storage-pool-ext-sys. - In the Logical Device Layer, click the link between
leaf01andleaf02and create an MLAG peer link. - In the Logical Link Layer, drag a cable from the MLAG Domain icon to
my-storage-pool-ext-sys. - Select both physical links (
leaf01 eth1/5andleaf02 eth1/5) as bond members. - 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.
Configuring an overlay bond
Section titled “Configuring an overlay bond”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.
External connections and overlay bonds
Section titled “External connections and overlay bonds”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.
How external connections use bonds
Section titled “How external connections use bonds”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.
What changes in 7.2.3
Section titled “What changes in 7.2.3”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/5andleaf02 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.
When to use each approach
Section titled “When to use each approach”| Situation | Recommended approach |
|---|---|
| Switches have no bond; you want Metalsoft to create one on deploy | Complete all three Fabric Manager steps above (physical links → peer link → bond). |
| Switches already have a manually configured bond | Skip 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 Manager | Ensure 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.
Related topics
Section titled “Related topics”- Adding an External Connection — how to define external connection interfaces
- Managing BGP Sessions and Link Aggregations — link aggregation API reference
- Managing Switch Pairs — MLAG domain configuration