Etherchannel over L2VPN

Etherchannel over L2VPN

Etherchannel is a link aggregation technology. It allows grouping of several physical Ethernet links to create one logical link. Up to 8 links can be aggregated to form a Port-channel logical interface. Spanning-tree (STP) blocks redundant links, Etherchannel allows load-balancing across those links.

Some guidelines to creating a port-channel-

    • Interfaces in the channel do not have to be physically next to each other
    • All bundle interfaces must have same speed and duplex settings
    • All bundle interfaces must be assigned to same VLAN or all interfaces must be trunks. If they are all trunks, they must be carrying same VLANs and same encapsulation mode

Network topology:

A Layer-2 Etherchannel is setup between SW1 and SW2 customer switches.

Etherchannel configuration on switches

interface Port-channel1
 switchport mode trunk
!
interface FastEthernet1/0
 switchport mode trunk
 channel-group 1 mode on
!
interface FastEthernet1/1
 switchport mode trunk
 channel-group 1 mode on
!
interface FastEthernet1/2
 switchport access vlan 10
!

There are two options to terminate the Etherchannel originating from customer switches-

    1. to terminate the Etherchannel on PE routers. Then apply the xconnect on the port-channel interface on the PE.
    2. Apply the xconnect on the physical interfaces itself- one Pseudowire per link which allows end-to-end Etherchannel

This configuration will use option-2.

PW configuration on PE

PE1 router:
interface Loopback 0
 ip address 1.1.1.1 255.255.255.255
!
interface fastethernet 1/0
 xconnect 2.2.2.2 100 encapsulation mpls
!
interface fastethernet 1/1
 xconnect 2.2.2.2 200 encapsulation mpls
!
PE2 router:
interface Loopback 0
 ip address 2.2.2.2 255.255.255.255
!
interface fastethernet 1/0
 xconnect 1.1.1.1 100 encapsulation mpls
!
interface fastethernet 1/1
 xconnect 1.1.1.1 200 encapsulation mpls
!

Verification:

The show etherchannel summary command shows the status of the Etherchannel and the interfaces assigned to the port-channel.

Etherchannel status

SW1# show etherchannel 1 port-channel
                Port-channels in the group:
                ----------------------
Port-channel: Po1
------------
Age of the Port-channel   = 00d:00h:49m:05s
Logical slot/port   = 8/0           Number of ports = 2
GC                  = 0x00010001      HotStandBy port = null
Port state          = Port-channel Ag-Inuse
Ports in the Port-channel:
Index   Port   EC state
------+------+------------
  1     Fa1/0    on
  0     Fa1/1    on
Time since last port bundled:    00d:00h:45m:45s    Fa1/0
SW1# show etherchannel 1 summary
Flags:  D - down        P - in port-channel
        I - stand-alone s - suspended
        R - Layer3      S - Layer2
        U - in use
Group Port-channel  Ports
-----+------------+-----------------------------------------------------------
1     Po1(SU)     Fa1/0(P)   Fa1/1(P)
SW1# show etherchannel 1 detail
Group state = L2
Ports: 2   Maxports = 8
Port-channels: 1 Max Port-channels = 1
                Ports in the group:
                -------------------
Port: Fa1/0
------------
Port state    = Up Mstr In-Bndl
Channel group = 1           Mode = On/FEC     Gcchange = 0
Port-channel  = Po1         GC   = 0x00010001    Pseudo port-channel = Po1
Port index    = 1
Age of the port in the current state: 00d:00h:47m:02s
Port: Fa1/1
------------
Port state    = Up Mstr In-Bndl
Channel group = 1           Mode = On/FEC     Gcchange = 0
Port-channel  = Po1         GC   = 0x00010001    Pseudo port-channel = Po1
Port index    = 0
Age of the port in the current state: 00d:00h:47m:08s
                Port-channels in the group:
                ----------------------
Port-channel: Po1
------------
Age of the Port-channel   = 00d:00h:50m:25s
Logical slot/port   = 8/0           Number of ports = 2
GC                  = 0x00010001      HotStandBy port = null
Port state          = Port-channel Ag-Inuse
Ports in the Port-channel:
Index   Port   EC state
------+------+------------
  1     Fa1/0    on
  0     Fa1/1    on
Time since last port bundled:    00d:00h:47m:05s    Fa1/0

The show mpls l2transport vc detail command shows details of Pseudowires.

PW status

PE1# show mpls l2transport vc
Local intf     Local circuit              Dest address    VC ID      Status
-------------  -------------------------- --------------- ---------- ----------
Fa1/0          Ethernet                   2.2.2.2         100        UP
Fa1/1          Ethernet                   2.2.2.2         200        UP
PE1# show mpls l2transport vc detail
Local interface: Fa1/0 up, line protocol up, Ethernet up
  Destination address: 2.2.2.2, VC ID: 100, VC status: up
    Output interface: Fa0/0, imposed label stack {17 19}
    Preferred path: not configured
    Default path: active
    Next hop: 172.16.1.2
  Create time: 00:46:46, last status change time: 00:38:38
  Signaling protocol: LDP, peer 2.2.2.2:0 up
    Targeted Hello: 1.1.1.1(LDP Id) -> 2.2.2.2, LDP is UP
    Status TLV support (local/remote)   : enabled/supported
      LDP route watch                   : enabled
      Label/status state machine        : established, LruRru
      Last local dataplane   status rcvd: No fault
      Last local SSS circuit status rcvd: No fault
      Last local SSS circuit status sent: No fault
      Last local  LDP TLV    status sent: No fault
      Last remote LDP TLV    status rcvd: No fault
      Last remote LDP ADJ    status rcvd: No fault
    MPLS VC labels: local 17, remote 19
    Group ID: local 0, remote 0
    MTU: local 1500, remote 1500
    Remote interface description:
  Sequencing: receive disabled, send disabled
  Control Word: On (configured: autosense)
  VC statistics:
    transit packet totals: receive 181, send 53
    transit byte totals:   receive 22944, send 16423
    transit packet drops:  receive 0, seq error 0, send 0
Local interface: Fa1/1 up, line protocol up, Ethernet up
  Destination address: 2.2.2.2, VC ID: 200, VC status: up
    Output interface: Fa0/0, imposed label stack {17 18}
    Preferred path: not configured
    Default path: active
    Next hop: 172.16.1.2
  Create time: 00:46:45, last status change time: 00:38:38
  Signaling protocol: LDP, peer 2.2.2.2:0 up
    Targeted Hello: 1.1.1.1(LDP Id) -> 2.2.2.2, LDP is UP
    Status TLV support (local/remote)   : enabled/supported
      LDP route watch                   : enabled
      Label/status state machine        : established, LruRru
      Last local dataplane   status rcvd: No fault
      Last local SSS circuit status rcvd: No fault
      Last local SSS circuit status sent: No fault
      Last local  LDP TLV    status sent: No fault
      Last remote LDP TLV    status rcvd: No fault
      Last remote LDP ADJ    status rcvd: No fault
    MPLS VC labels: local 18, remote 18
    Group ID: local 0, remote 0
    MTU: local 1500, remote 1500
    Remote interface description:
  Sequencing: receive disabled, send disabled
  Control Word: On (configured: autosense)
  VC statistics:
    transit packet totals: receive 120, send 3684
    transit byte totals:   receive 19260, send 342952
    transit packet drops:  receive 0, seq error 0, send 0