For layer 2 circuits over an MPLS core, each circuit normally has a single shim interface on the local router. In the case of a local cross-connects configuration, each end of the cross-connect has a single shim interface, creating a two-way cross-connect.
Alternatively, a given layer 2 circuit or each end of a local cross-connect can have many shim interfaces. In these cases, traffic destined for the CE routers is load-balanced among the multiple shim interfaces. This is known as CE-side load balancing. In the case of Ethernet/VLANs, CE-side load balancing enables an E-series router to interoperate with an 802.3ad switch.
You can configure load balancing in two different ways. You can configure many shim interfaces with the same peer, VC type, and VC ID. Alternatively, you can use the legacy method of configuring Martini circuits into load-balancing groups.
The mpls-relay command enables you to specify the peer and the VC ID explicitly. The VC type is either automatically determined by the layer 2 interface type or you explicitly configure the VC type with the relay-format keyword in the mpls-relay command.
For example, the following commands create a single layer 2 circuit to the remote peer 10.9.1.3. Load balancing is established on two shim interfaces, fastEthernet 2/0.1 and fastEthernet 3/0.1. The VC type is determined by the layer 2 interface type.
- host1(config)#interface fast 2/0.1
- host1(config-subif)#vlan id 1
- host1(config-subif)#mpls-relay 10.9.1.3 200001
- host1(config-subif)#exit
- host1(config)#interface fast 3/0.1
- host1(config-subif)#vlan id 1
- host1(config-subif)#mpls-relay 10.9.1.3 200001
In this example, the router advertises a single label, 53, to the remote peer, 10.9.1.3, and receives a single label, 55, from the peer, resulting in the following forwarding table:
host1:# show mpls forwarding brief
Platform label space
In Label Owner Action
-------- -------- -------------------------------------------------------
53 ldp l2transport to FastEthernet3/0.1
l2transport to FastEthernet2/0.1
L2transport
Interface Owner Action
-------------------- -------- -------------------------------------------------
FastEthernet2/0.1 ldp swap to 55, push 42 on ATM5/0.1, nbr 10.10.11.5
FastEthernet3/0.1 ldp swap to 55, push 42 on ATM5/0.1, nbr 10.10.11.5
Traffic that arrives on either interface, 2/0.1 or 3/0.1, is forwarded to the remote peer with the same label stack (55, 42). Traffic from the remote peer with label 53 is forwarded to one of the two shim interfaces; the ECMP algorithm determines which of the two shim interfaces receives the traffic.
In the case of a local cross-connects configuration, the following commands illustrate how a three-way cross-connect is created when 10.9.1.2 is a local address:
- host1(config)#interface atm 6/0.101 point-to-point
- host1(config-subif)#mpls-relay 10.9.1.2 600001
- host1(config-subif)#exit
- host1(config)#interface atm 6/2.101 point-to-point
- host1(config-subif)#mpls-relay 10.9.1.2 600001
- host1(config-subif)#exit
- host1(config)#interface atm 6/2.103 point-to-point
- host1(config-subif)#mpls-relay 10.9.1.2 600001
This configuration results in the following forwarding table:
host1:two# show mpls forwarding brief
Platform label space
…
L2transport
Interface Owner Action
-------------------- -------- -------------------------------------------------------------------
ATM6/0.101 ldp l2transport to ATM6/2.101
l2transport to ATM6/2.103
ATM6/2.101 ldp l2transport to ATM6/0.101
l2transport to ATM6/2.103
ATM6/2.103 ldp l2transport to ATM6/0.101
l2transport to ATM6/2.101
Traffic that arrives on interface 6/0.101 is forwarded by means of ECMP to both interface 6/2.101 and interface 6/2.103. Traffic that arrives on interface 6/2.101 is forwarded by means of ECMP to interface 6/0.101 and interface 6/2.103. Traffic that arrives on interface 6/2.103 is forwarded by means of ECMP to interface 6/0.101 and 6/2.101.
Load-balancing groups are a legacy method of configuring CE-side load balancing. It was the only method available before Release 7.1.0. Load-balancing groups enable you to configure attributes for a group that are inherited by the member shim interfaces (Figure 119).
Figure 119: CE-Side Load-Balancing Topology

In the topology shown in Figure 119, the two Ethernet ports on PE 1 (2/0 and 3/1) are connected to an 802.3ad-compliant switch, and comprise the set of candidate ports. Three VLAN subinterfaces are configured on each port. Load-balancing group 100 includes three Martini circuits, one for each pair of subinterfaces on the ports. That is, three circuits were created: one for the pair 2/0.1 and 3/1.10, one for the pair 2/0.2 and 3/1.20, and one for the pair 2/0.3 and 3/1.30. Each of the three Martini circuits connects to a remote PE router. The remote PE router receives and sends only a single VC label for each circuit.
Traffic from the switch can be received on all ports and sent over the appropriate Martini circuit. For example, traffic from CE 1 to be sent over Martini circuit 1 could arrive on port 2/0 or 3/1 and still be appropriately forwarded.
You configure each circuit for VLAN or S-VLAN subinterfaces that you create across a set of candidate Ethernet ports. The router distributes traffic from the core through the candidate ports used by the load-balancing group. If a port is disabled, traffic is redistributed to a working port.
When a layer 2 interface is added to a load-balancing group circuit, an MPLS shim interface is automatically created on top of that layer 2 interface. The attributes of the shim interface are inherited from the load-balancing group and cannot be configured.
All MPLS shim interfaces within a load-balancing group circuit point to the same MPLS next hop. Traffic arriving from the CE router over this set of MPLS shim interfaces is merged into a single LSP and sent to the remote PE router.
The VC in label for the layer 2 circuit points to a single ECMP MPLS next hop. The legs of this ECMP next hop are the member shim interfaces of the load-balancing group circuit. Consequently, ECMP is used to forward traffic arriving from the core across the MPLS shim interfaces to the CE router.
You configure Martini circuits with load-balancing groups in a separate mode, in which the member layer 2 subinterfaces are entered one by one.
For example, the following commands configure two Martini circuits to different PE routers, in the same load-balancing group 100, sharing the candidate Ethernet ports 2/0 and 3/0:
- host1(config)#mpls l2transport load-balancing-group
100 mpls-relay 10.1.1.1 30
- host1(config-mpls-l2-group)#member interface
fast 2/0.1
- host1(config-mpls-l2-group)#member interface
fast 3/0.100
- host1(config)#mpls l2transport load-balancing-group
100 mpls-relay 10.2.2.2 22
- host1(config-mpls-l2-group)#member interface
fast 2/0.2
- host1(config-mpls-l2-group)#member interface
fast 3/0.200
You specify the lower interface as a member interface, as in the following example.
- host1(config)#mpls l2transport load-balancing-group
100 mpls-relay 2.2.2.2 202
- host1(config-mpls-l2-group)#member interface
fast 2/0.500
To remove a member subinterface from a circuit, either issue the no member interface command (from the L2 Transport Load-Balancing-Group Configuration mode) or issue the no mpls-relay command at the VLAN or S-VLAN subinterface level. Each of the following examples removes member Fast Ethernet subinterface 13/0.2 from the load-balanced Martini circuit:
- host1(config)#mpls l2transport load-balancing-group
100 mpls-relay 2.2.2.2 202
- host1(config-mpls-l2-group)#no member interface
fast 13/0.2
or
- host1()#interface fast 13/0.2
- host1(config-subif)#no mpls-relay