Aggregate Interface¶
Aggregate interfaces combine multiple physical interfaces into a single logical interface for link aggregation (LACP). The scm CLI provides commands to create, update, delete, and load aggregate interfaces.
Overview¶
The aggregate-interface commands allow you to:
- Create aggregate interfaces with layer2 or layer3 configurations
- Update existing aggregate interface settings
- Delete aggregate interfaces that are no longer needed
- Bulk import aggregate interfaces from YAML files
- Export aggregate interfaces for backup or migration
Set Aggregate Interface¶
Create or update an aggregate interface.
Syntax¶
Options¶
| Option | Description | Required |
|---|---|---|
NAME |
Interface name (positional) | Yes |
--folder TEXT |
Folder location | No* |
--snippet TEXT |
Snippet location | No* |
--device TEXT |
Device location | No* |
--comment TEXT |
Interface description | No |
--layer2-json TEXT |
Layer2 config as JSON | No |
--layer3-json TEXT |
Layer3 config as JSON | No |
* One of --folder, --snippet, or --device is required.
Examples¶
Create a Layer3 Aggregate Interface¶
$ scm set network aggregate-interface ae1 \
--folder Texas \
--layer3-json '{"mtu": 1500, "ip": [{"name": "10.0.0.1/24"}]}' \
--comment "Aggregated uplink"
---> 100%
Created aggregate interface: ae1 in folder Texas
Create a Layer2 Aggregate Interface¶
$ scm set network aggregate-interface ae2 \
--folder Texas \
--layer2-json '{"lldp": {"enable": true}}' \
--comment "Layer2 trunk"
---> 100%
Created aggregate interface: ae2 in folder Texas
Delete Aggregate Interface¶
Delete an aggregate interface from SCM.
Syntax¶
Options¶
| Option | Description | Required |
|---|---|---|
NAME |
Interface name (positional) | Yes |
--folder TEXT |
Folder location | No* |
--snippet TEXT |
Snippet location | No* |
--device TEXT |
Device location | No* |
--force |
Skip confirmation prompt | No |
* One of --folder, --snippet, or --device is required.
Example¶
$ scm delete network aggregate-interface ae1 --folder Texas --force
---> 100%
Deleted aggregate interface: ae1 from folder Texas
Load Aggregate Interface¶
Load multiple aggregate interfaces from a YAML file.
Syntax¶
Options¶
| Option | Description | Required |
|---|---|---|
--file TEXT |
Path to YAML file | Yes |
--folder TEXT |
Folder location | No* |
--snippet TEXT |
Snippet location | No* |
--device TEXT |
Device location | No* |
--dry-run |
Preview changes without applying | No |
* One of --folder, --snippet, or --device is required.
YAML File Format¶
---
aggregate_interfaces:
- name: ae1
folder: Texas
comment: "Aggregated uplink"
layer3:
mtu: 1500
ip:
- name: "10.0.0.1/24"
- name: ae2
folder: Texas
comment: "Layer2 trunk"
layer2:
lldp:
enable: true
Examples¶
Load with Original Locations¶
$ scm load network aggregate-interface --file interfaces.yml
---> 100%
✓ Loaded aggregate interface: ae1
✓ Loaded aggregate interface: ae2
Successfully loaded 2 out of 2 aggregate interfaces from 'interfaces.yml'
Load with Folder Override¶
$ scm load network aggregate-interface --file interfaces.yml --folder Austin
---> 100%
✓ Loaded aggregate interface: ae1
✓ Loaded aggregate interface: ae2
Successfully loaded 2 out of 2 aggregate interfaces from 'interfaces.yml'
Note
When using container override options (--folder, --snippet, --device), all aggregate interfaces will be loaded into the specified container, ignoring the container specified in the YAML file.
Show Aggregate Interface¶
Display aggregate interface objects.
Syntax¶
Options¶
| Option | Description | Required |
|---|---|---|
--folder TEXT |
Folder location | No* |
--snippet TEXT |
Snippet location | No* |
--device TEXT |
Device location | No* |
--name TEXT |
Name of a specific interface | No |
* One of --folder, --snippet, or --device is required.
Note
When no --name is specified, all items are listed by default.
Examples¶
Show Specific Aggregate Interface¶
$ scm show network aggregate-interface --folder Texas --name ae1
---> 100%
Aggregate Interface: ae1
Location: Folder 'Texas'
Comment: Aggregated uplink
Layer3 MTU: 1500
List All Aggregate Interfaces (Default Behavior)¶
$ scm show network aggregate-interface --folder Texas
---> 100%
Aggregate interfaces in folder 'Texas':
------------------------------------------------------------
Name: ae1
Comment: Aggregated uplink
Mode: Layer3
------------------------------------------------------------
Name: ae2
Comment: Layer2 trunk
Mode: Layer2
------------------------------------------------------------
Backup Aggregate Interfaces¶
Backup all aggregate interface objects from a specified location to a YAML file.
Syntax¶
Options¶
| Option | Description | Required |
|---|---|---|
--folder TEXT |
Folder location | No* |
--snippet TEXT |
Snippet location | No* |
--device TEXT |
Device location | No* |
--file TEXT |
Custom output filename | No |
* One of --folder, --snippet, or --device is required.
Examples¶
Backup from Folder¶
$ scm backup network aggregate-interface --folder Texas
---> 100%
Successfully backed up 4 aggregate interfaces to aggregate_interface_folder_texas_20240115_120530.yaml
Backup with Custom Filename¶
$ scm backup network aggregate-interface --folder Texas --file texas-ae-interfaces.yaml
---> 100%
Successfully backed up 4 aggregate interfaces to texas-ae-interfaces.yaml
Best Practices¶
- Use Descriptive Comments: Add comments to each aggregate interface describing its purpose and member links.
- Plan IP Addressing: Ensure layer3 aggregate interfaces have proper IP addressing before assigning to security zones.
- Test with Dry Run: Use
--dry-runwhen loading configurations to preview changes before applying. - Backup Before Changes: Always backup existing aggregate interface configurations before making bulk modifications.
- Use Consistent Naming: Follow a naming convention like
ae1,ae2for aggregate interface names.