LDP Pseudowire

LDP pseudowire provides support for emulating Ethernet connections over a Multiprotocol Label Switching (MPLS) network, and controlled using the extension of the MPLS Label Distribution Protocol (LDP) specified in RFC4447.

The patch panel command allows "patching” a local interface “connector” to an LDP pseudowire “connector”, terminating on the local switch. The LDP pseudowire itself is defined under the pseudowires configuration mode, under the mpls ldp configuration mode.

LDP pseudowire also supports locally patching traffic between two interfaces and is configured under the patch panel command.

Configuring LDP Pseudowire

Local-Remote Patch Configuration

To configure an LDP pseudowire,complete the following task.

  1. Enter the pseudowire configuration section under the mpls ldp configuration section, and specify an LDP pseudowire name using the pseudowire command. In this example, the selected LDP pseudowire name is ldppw.
    switch(config)# mpls ldp
    switch(config-mpls-ldp)# pseudowire
    switch(config-mpls-ldp-pw)# pseudowire ldppw

  2. Once an LDP pseudowire has been configured, configure the neighbor IP address, pseudowire ID, and pseudowire MTU using the neighbor, pseudowire-id, and mtu configuration commands.
    switch(config-mpls-ldp-pw-ldppw)# neighbor 1.2.3.4
    switch(config-mpls-ldp-pw-ldppw)# pseudowire-id 1
    switch(config-mpls-ldp-pw-ldppw)# mtu 9000

  3. To configure a cross-connection between two connectors, configure a pseudowire patch by specifying a patch name in the patch panel configuration section.
    switch(config)# patch panel
    switch(config-patch)# patch example

  4. After entering a patch configuration mode, configure a type 4 LDP pseudowire by specifying a VLAN tagged interface connector and an LDP pseudowire connector using the connector command.
    switch(config-patch-example)# connector interface ethernet1 dot1q vlan 100
    switch(config-patch-example)# connector pseudowire ldp ldppw

  5. After entering a patch configuration mode, configure a type 5 LDP pseudowire by specifying an interface connector and an LDP pseudowire connector using the connector command.
    switch(config-patch-example)# connector interface ethernet1
    switch(config-patch-example)# connector pseudowire ldp ldppw

    Note: IP routing must be enabled and the interface used for the local connector must be routed.

    switch(config)# ip routing
    switch(config)# interface ethernet1
    switch(config-if-Et1)# no switchport

Local-Local Patch Configuration

The patch can also consist of two interface connectors or two VLAN tagged interface connectors to configure local stitching.
switch(config-patch)# patch example
switch(config-patch-example)# connector conn1 ethernet1
switch(config-patch-example)# connector conn2 ethernet2
switch(config-patch)# patch example2
switch(config-patch-example2)# connector conn1 ethernet1 dot1q vlan 100
switch(config-patch-example2)# connector conn2 ethernet2 dot1q vlan 200

Note:IP routing must be enabled and both interfaces used for the local connectors must be routed.
switch(config)# ip routing
switch(config)# interface ethernet1
switch(config-if-Et1)# no switchport
switch(config)# interface ethernet2
switch(config-if-Et2)# no switchport

Additional Patch Configuration Commands

The shutdown configuration command can be used to disable a pseudowire patch.

Example
switch(config-patch-example)# shutdown

Forwarding Behavior For Layer 2 Control Packets

There are differences in forwarding behavior for reserved MACs between the Ethernet Tagged Mode and the Ethernet Raw Mode. Some Layer 2 control packets are terminated and consumed at the Provider Edge, while others are encapsulated and forwarded on the pseudowire. Below is a list of the common Layer 2 control packets, and a summary of their forwarding behavior.
Ethernet Tagged Mode (type 4) Ethernet Raw Mode (type 5)
STP When STP is enabled, STP packets are terminated. Otherwise, they are forwarded. Forwarded
LLDP Terminated Forwarded
LACP Terminated Terminated
MACsec Not supported Forwarded

In addition, custom Layer 2 Control Packet forwarding behavior for type 5 pseudowire can be configured using the Layer 2 Protocol Forwarding functionality.

LDP Pseudowire Limitations

When a subinterface has been configured with the same VLAN tag as a pseudowire connector on the same parent interface, or vice versa, only the first configured feature will be active.

When a port-based connector is used for a pseudowire or local cross-connect patch, dot1q-tagged packets will have the outer tag incorrectly removed on ingress/encap if any one of several other features are configured on the switch (on any interface) including Layer 2 subinterfaces, Dot1q Tunnel, VLAN Mapping, and VXLAN. The only workaround is to unconfigure these other features.

When a VLAN-based connector (or subinterface with dot1q encapsulation) is used for a pseudowire or local cross-connect patch, tagged packets will have incorrect tags after forwarding if any one of several other features are configured on the switch (on any interface) including Layer 2 subinterfaces, Dot1q Tunnel, VLAN Mapping, and VXLAN. The only workaround is to unconfigure these other features.

LDP Pseudowire Show Commands

Use the show patch panel command to display the overall status of the configured pseudowire patches.

Example
switch# show patch panel 
Patch     Connector                            Status 	
--------- ------------------------------------ ----------
example   1: Ethernet3                         Up
          2: Port-Channel2
example2  1: Ethernet1 802.1Q VLAN 100         Up
          2: LDP neighbor 1.1.1.1 PW ID 1111
example3  1: LDP neighbor 4.4.4.4 PW ID 1040   Up
          2: Ethernet2 

Use the show patch panel detail command to display the detailed status of the configured pseudowire patches.

Example
switch# show patch panel detail 
PW Fault Legend:
   ET-IN - Ethernet receive fault
   ET-OUT - Ethernet transmit fault
   TUN-IN - Tunnel receive fault
   TUN-OUT - Tunnel transmit fault
   NF - Pseudowire not forwarding (other reason)
Patch: example, Status: Up
   Connector 1: Ethernet3
      Status: Up
   Connector 2: Port-Channel2
      Status: Up
Patch: example2, Status: Up
   Connector 1: Ethernet1 802.1Q VLAN 100
      Status: Up
   Connector 2: LDP neighbor 1.1.1.1 PW ID 1111
      Status: Up
      Local MPLS label: 100032, Group ID: 0
         MTU: 9000, 802.1Q VLAN request sent: -
      Neighbor MPLS label: 900000, Group ID: 0x0
         MTU: 9000, 802.1Q VLAN request received: -
      PW type: 4 (tagged), Control word: N
      Tunnel type: LDP, Tunnel index: 198
Patch: example3, Status: Up
   Connector 1: LDP neighbor 4.4.4.4 PW ID 1040
      Status: Up
      Local MPLS label: 100002, Group ID: 0x0
         MTU: 1500, 802.1Q VLAN request sent: -
      Neighbor MPLS label: 400000, Group ID: 0x0
         MTU: 9213, 802.1Q VLAN request received: -
      PW type: 5 (raw), Control word: N
      Tunnel type: LDP, Tunnel index: 2
   Connector 2: Ethernet2
      Status: Up

Use the show patch panel forwarding command to display the forwarding information for configured pseudowire connectors.

Example
switch# show patch panel forwarding
Legend:
   Type - Pseudowire type: 4 (tagged)
                           5 (raw)
   CW - Control word used

In/Out                       Type CW VLAN Status Patch   	 
---------------------------- ---- -- ---- ------ ------------
Et1 802.1Q VLAN 100             4         Up     example2
   Label 900000, LDP Tun 198
Et2                             5         Up     example3
   Label 400000, LDP Tun 2 
Et3                                       Up     example
   Po2
Po2                                       Up     example
   Et3

PW Label Out                   Source Type CW Status Patch   	 
-------- --------------------- ------ ---- -- ------ ----------
100002   Et2                   LDP       5    Up     example3
100032   Et1 802.1Q VLAN 100   LDP       4    Up     example2