Link aggregation
Ports between two switches may be grouped, forming a link aggregation. An aggregation provides increased bandwidth and redundancy. This can be done with static aggregation or dynamic aggregation:
-
Static aggregations are established when setup in both switches.
-
Dymamic aggregations must also be setup in both switches. The Link Aggregation Control Protocol (LACP) is used to control the aggregation.
The following link aggregation examples use group 1 for the first two ports of switch A.
+-------------------+ | | | Switch A | | | +--1-------------2--+ | | | Aggregation | | <---------> | | | +--4-------------3--+ | | | Switch B | | | +-------------------+
1. Dynamic Aggregation
1.1. LACP Port Configuration
The configuration of a dynamic aggregation is shown below.
IPATCH request message:
- ? "/ietf-interfaces:interfaces/interface[name='1']/\
mchp-velocitysp-aggr:aggr-port/config"
: group: 1
mode: lacp-active
- ? "/ietf-interfaces:interfaces/interface[name='2']/\
mchp-velocitysp-aggr:aggr-port/config"
: group: 1
mode: lacp-active
The configuration of the first port is retrieved as shown below.
FETCH request message:
- "/ietf-interfaces:interfaces/interface[name='1']/\
mchp-velocitysp-aggr:aggr-port/config"
FETCH response message:
- ? "/ietf-interfaces:interfaces/interface/mchp-velocitysp-aggr:aggr-port/\
config"
: group: 1
mode: lacp-active
lacp-timeout: fast
port-priority: 32768
1.2. LACP Group Configuration
The LACP group can be setup as a 1:1 Active/Standby link as shown below.
IPATCH request message:
- ? "/ietf-interfaces:interfaces/interface[name='AGGR2']/\
mchp-velocitysp-aggr:aggregator/config"
: max-bundle: 1
failover-mode: revertive
1.3. LACP Port Status
The LACP status of the first port is retrieved as shown below.
FETCH request message:
- "/ietf-interfaces:interfaces/interface[name='1']/\
mchp-velocitysp-aggr:aggr-port/status"
FETCH response message:
- ? "/ietf-interfaces:interfaces/interface/mchp-velocitysp-aggr:aggr-port/\
status"
: actor-system-priority: 32768
actor-system-mac: 00-11-22-33-44-00
actor-key: 1
actor-port-priority: 32768
actor-port: 0
actor-state: lacp-activity lacp-timeout aggregation synchronization collecting distributing
partner-system-priority: 32768
partner-system-mac: 44-55-66-77-88-99
partner-key: 1
partner-port-priority: 32768
partner-port: 3
partner-state: lacp-activity lacp-timeout aggregation synchronization collecting distributing
aggr-name: AGGR2
1.4. LACP Port Counters
The LACP counters of the first port are retrieved as shown below.
FETCH request message:
- "/ietf-interfaces:interfaces/interface[name='1']/\
mchp-velocitysp-aggr:aggr-port/statistics"
FETCH response message:
- ? "/ietf-interfaces:interfaces/interface/mchp-velocitysp-aggr:aggr-port/\
statistics"
: rx-lacp-pdu: '0'
rx-marker-pdu: '0'
rx-marker-response-pdu: '0'
rx-unknown: '0'
rx-illegal: '0'
tx-lacp-pdu: '1'
tx-marker-pdu: '0'
tx-marker-response-pdu: '0'
2. Static Aggregation
The configuration of a static aggregation is shown below.
IPATCH request message:
- ? "/ietf-interfaces:interfaces/interface[name='1']/\
mchp-velocitysp-aggr:aggr-port/config"
: group: 1
mode: enabled
- ? "/ietf-interfaces:interfaces/interface[name='2']/\
mchp-velocitysp-aggr:aggr-port/config"
: group: 1
mode: enabled
3. Aggregation Counters
Interface counters of the ports and the aggregation group are retrieved as shown below. One broadcast frame has been received by each port prior to the accesses.
FETCH request message:
- "/ietf-interfaces:interfaces/interface[name='1']/statistics"
- "/ietf-interfaces:interfaces/interface[name='2']/statistics"
- "/ietf-interfaces:interfaces/interface[name='AGGR2']/statistics"
FETCH response message:
- ? "/ietf-interfaces:interfaces/interface/statistics"
: in-octets: '64'
in-unicast-pkts: '0'
in-broadcast-pkts: '1'
in-multicast-pkts: '0'
in-discards: 0
in-errors: 0
in-unknown-protos: 0
out-octets: '0'
out-unicast-pkts: '0'
out-broadcast-pkts: '0'
out-multicast-pkts: '0'
out-discards: 0
out-errors: 0
- ? "/ietf-interfaces:interfaces/interface/statistics"
: in-octets: '64'
in-unicast-pkts: '0'
in-broadcast-pkts: '1'
in-multicast-pkts: '0'
in-discards: 0
in-errors: 0
in-unknown-protos: 0
out-octets: '0'
out-unicast-pkts: '0'
out-broadcast-pkts: '0'
out-multicast-pkts: '0'
out-discards: 0
out-errors: 0
- ? "/ietf-interfaces:interfaces/interface/statistics"
: in-octets: '128'
in-unicast-pkts: '0'
in-broadcast-pkts: '2'
in-multicast-pkts: '0'
in-discards: 0
in-errors: 0
in-unknown-protos: 0
out-octets: '0'
out-unicast-pkts: '0'
out-broadcast-pkts: '0'
out-multicast-pkts: '0'
out-discards: 0
out-errors: 0