Multichassis Link Aggregation Group

Multichassis Link Aggregation Group

MC-LAG is a proprietary solution which allows link aggregation between multiple devices (chassis). This article focuses on Alcatel-Lucent (ALU) solution of MC-LAG. The CE device is completely unaware that its Ethernet links that belong to the same LAG (Etherchannel in Cisco) are connected to two (ALU supports upto 4 devices in MC-LAG) seperate PE devices. The two PE routers each have one LAG connected to the same CE device. At a time, only one PE router's LAG ports are active and carrying traffic. The other PE router's LAG ports are standby and only become active when failure is detected in the active links. The PE routers perform election to decide the active and standby router.

In figure 1, from CE's perspective, all 4 ports belonging to a LAG are connected to a single service provider device. All 4 ports are active, but only 2 ports are UP at a time; the other 2 ports are in DOWN state. On the PE routers, a regular LAG is configured facing the CE device, and MC-LAG is configured to define the MC-LAG peer and LACP parameters. The MC-LAG control protocol information is exchanged between PE routers. This exchange results in active/standby selection, and ensures only one PE router's ports are active and carrying traffic. MC-LAG control protocol runs only between MC-LAG peers. The protocol uses UDP packets (destination port 1025) and can use MD5 for authentication. It is used as a keepalive to ensure peer device is active. It is also used to synchronize LAG parameters. MC-LAG peers are not required to be directly connected to each other. Also, if MC-LAG peer is not found, both devices become active. Thus, the CE devices brings up all links for the LAG.

To allow a LAG to be established to different remote devices, these devices must appear to be a single device by presenting the same information. Thus, both PE routers send an exactly same {Admin Key, System ID, System Priority} triplet in the LACP PDU.

Link Aggregation Control Protocol LACP (IEEE 802.3ad) detects multiple links available between two devices and configures them to use as an aggregate bandwidth. The two sides detect the availability of the other side by sending LACP PDUs. One end is an Actor, while the other end is the Partner. LACP PDUs are sent at a regular instance to multicast MAC address 01:80:C2:00:00:02. During LACP negotiation, the triplet {Admin Key, System ID, System Priority} identifies the LAG instance. So, for a LAG, all participating ports on that device must have the same triplet value.

LACP has two modes- Active and Passive. In Active mode, the ports send out LACP PDUs to seek Partners after the physical link comes UP. In Passive mode, the ports send out LACP PDUs only in response to reception of LACP PDUs from remote side. When LAG is manually configured, it is the responsibility of the operator to ensure that the configuration is same on both endpoints. The capabilities of the ports within a LAG must be consistent i.e speed/duplex must match on all ports, auto-negotiation must be disabled when LACP is used.

There are 2 reasons to implement LAG- a) to improve link reliability i.e. if one of the links in the LAG goes down, the LAG is still operationally UP. b) to expand the bandwidth i.e. the available bandwidth in LAG is the summation of the bandwidth of all LAG member links.

To keep traffic flow in sequence, traffic is distributed over the links in the LAG using a hashing algorithm called per-flow based hashing algorithm. Hashing is an operation of transforming an input into a fixed value or key. In Ethernet LAG, the hash input can be either source/destination MAC addresses, or source/destination IP addresses, or both. Even Layer 4 header can be added to the hashing algorithm criteria. This results in the id of the egress port to which the flow is sent.

Configuration

The CE device is configured with a regular LAG containing 4 ports shown in figure 1.

CE: LAG Configuration

A:CE# configure lag 1
A:CE>config>lag# port 1/2/1
A:CE>config>lag# port 1/2/2
A:CE>config>lag# port 1/2/3
A:CE>config>lag# port 1/2/4
A:CE>config>lag# lacp active administrative-key 32768
A:CE>config>lag# no shutdown

On the PE devices, two types of configuration is required - regular LAG, and MC-LAG. Note that Admin-Key (LACP-key), System ID and System Priority values must be same on both PE routers for a particular LAG.

PE1: MC-LAG Configuration

A:PE1# configure lag 1
A:PE1>config>lag# mode access    ! MC-LAG in ALU requires LAG to be in Access mode only
A:PE1>config>lag# port 1/2/1
A:PE1>config>lag# port 1/2/2
A:PE1>config>lag# lacp active administrative-key 32768
A:PE1>config>lag# no shutdown

A:PE1# configure redundancy multi-chassis
A:PE1>config>redundancy>multi-chassis# peer 10.0.0.2    ! PE2 (MC-LAG peer)
A:PE1>config>redundancy>multi-chassis# mc-lag
A:PE1>config>redundancy>multi-chassis>mc-lag# lag 1 lacp-key 10 system-id 00:00:00:12:12:12 system-priority 32768    ! These LACP parameters must match on MC-LAG peers
A:PE1>config>redundancy>multi-chassis>mc-lag# no shutdown
A:PE1>config>redundancy>multi-chassis>mc-lag# exit
A:PE1>config>redundancy>multi-chassis# no shutdown
A:PE1>config>redundancy>multi-chassis# exit

PE2: MC-LAG Configuration

A:PE2# configure lag 1
A:PE2>config>lag# mode access
A:PE2>config>lag# port 1/2/3
A:PE2>config>lag# port 1/2/4
A:PE2>config>lag# lacp active administrative-key 32768
A:PE2>config>lag# no shutdown

A:PE2# configure redundancy multi-chassis
A:PE2>config>redundancy>multi-chassis# peer 10.0.0.1
A:PE2>config>redundancy>multi-chassis# mc-lag
A:PE2>config>redundancy>multi-chassis>mc-lag# lag 1 lacp-key 10 system-id 00:00:00:12:12:12 system-priority 32768
A:PE2>config>redundancy>multi-chassis>mc-lag# no shutdown
A:PE2>config>redundancy>multi-chassis>mc-lag# exit
A:PE2>config>redundancy>multi-chassis# no shutdown
A:PE2>config>redundancy>multi-chassis# exit

Use following commands to check the status of LAG and MC-LAG-

  • show port
    • show lag <id> [detail]
  • show redundancy multi-chassis all
    • show redundancy multi-chassis mc-lag peer <peer_ip_address>

MC-LAG with VPLS

Figure 2 shows a very common application of MC-LAG. The MC-LAG is used as an access into the VPLS service. This operation provides a single active connection into the VPLS service from the DSLAMs, with redundant standby connections. For each MC-LAG, only two regular LAGs are involved in two PE routers; any PE router can have multiple LAGs running the MC-LAG protocol to another PE router, or to different PE routers. So the MC-LAG peering is always point-to-point between two PE routers. The MC-LAG configuration for this is as follows-

A:PE1# configure redundancy multi-chassis
A:PE1>config>redundancy>multi-chassis# info
                peer 10.0.0.2
                    mc-lag
                        lag 1 lacp-key 10 system-id 00:00:00:00:00:11 remote-lag 1 system-priority 32768
                        lag 2 lacp-key 10 system-id 00:00:00:00:00:22 remote-lag 2 system-priority 32768
                        no shutdown
                    exit
                    no shutdown
                exit

All MC-LAG groups peering with the same router are defined under the same peer. If there is more than one group, the remote-lag ID must be provided to allow the peer router to distinguish among the groups.

In figure 2, redundancy can be implemented from the core to the edge. The VPLS core network uses fully meshed pseudowires between PE routers. Resiliency and failover convergence can be improved by using RSVP-TE LSPs with FRR. In the aggregation layer in H-VPLS, CE devices can be dual-homed to PE routers by primary/standby spoke-PWs. RSVP-TE LSPs with FRR can also be used. In the edge layer, the CE devices can be dual-homed to SP devices using MC-LAG.

In figure 2 again, if both links of LAG-1 connected to PE1 router fails, PE2 (original standby router) takes over as the active router role of the MC-LAG and starts to carry traffic over the links which were originally in DOWN state. This is the expected behaviour. Additionally, the PE1 router, which has the failure, will notify remote PE routers with an LDP Address Withdraw message so that they can unlearn all MAC addresses learned for that VPLS service.

MC-LAG has following benefits:

    • MC-LAG is transparent to CE devices. It is only implemented on PE routers and peering occurs between PE routers.
    • CE devices are not required to be MPLS aware. MC-LAG is implemented on the access port that has the SAP (port facing the CE device).
    • With MC-LAG, redundancy and loop-prevention are achieved without using STP. MC-LAG also has quicker convergence as compared to STP.