How to configure L2VPN VPWS/VPLS on Omada Campus Switches

Knowledgebase
Configuration Guide
05-27-2026
86

Contents

Introduction

Requirements

MPLS LDP Configuration

MPLS LDP CLI Commands

MPLS LDP Configuration Example

VPWS Configuration

VPWS CLI Commands

VPWS Configuration Example

VPLS Configuration

VPLS CLI Commands

Configuration of LDP-based VPLS

Configuration of LDP-based H-VPLS

Conclusion

Introduction

In modern enterprise networks, organizations typically operate multiple geographically distributed sites, including headquarters, branch offices, and data centers. These sites require reliable connectivity to support access to internal applications, data exchange, and consistent business operations. For example, branch office users often need seamless access to centralized resources, such as ERP systems or file servers hosted at the headquarters. To enable efficient interconnection across dispersed locations, service providers deliver Layer 2 VPN (L2VPN) services that provide transparent connectivity, allowing remote sites to function as if they are part of the same local network.

To implement these services efficiently, MPLS (Multi‑Protocol Label Switching) is widely adopted as the underlying transport technology. MPLS improves forwarding performance and scalability by using label-based switching instead of traditional IP routing lookups. Based on MPLS, service providers can build Layer 2 VPN services that seamlessly transport Ethernet traffic over a wide area network while abstracting the underlying network complexity from end users.

Show the principle topology diagram of VPWS.

VPWS (Virtual Private Wire Service) is one of the key MPLS Layer 2 VPN technologies. It provides a point‑to‑point connection between two customer sites by emulating a dedicated physical link, often referred to as a “virtual circuit.” With VPWS, data is forwarded directly between the two endpoints without performing MAC address learning or broadcast replication. This makes it a simple and efficient solution for scenarios that require secure and stable communication between two locations, such as connecting a headquarters to a data center or linking two critical business systems.

Show the principle topology diagram of VPLS.

VPLS (Virtual Private LAN Service), on the other hand, extends this concept to multipoint connectivity. It allows multiple sites to be interconnected as if they are part of the same Ethernet LAN. In a VPLS network, provider edge devices emulate a virtual Layer 2 switch, enabling all connected sites to communicate with each other transparently. VPLS supports MAC address learning and broadcast forwarding, making it suitable for enterprise environments that require full mesh communication between multiple branches. Compared to VPWS, VPLS offers greater flexibility for multi‑site deployments, while still leveraging MPLS for efficient and scalable transport.

As illustrated, the entire VPLS network behaves like a single virtual switch. It establishes virtual links—also known as pseudowires (PWs)—between different sites within each VPN over MPLS tunnels. Through these PWs, Layer 2 user traffic is transparently forwarded between sites.

For Provider Edge (PE) devices, they learn source MAC addresses while forwarding packets and build MAC forwarding table entries accordingly. This process creates a mapping between MAC addresses, the user-facing Access Circuits (ACs), and the corresponding pseudowires (PWs), enabling correct traffic forwarding across the VPLS network.

Requirements

  • Omada Campus switches (firmware version 1.20.1 or above)

MPLS LDP Configuration

MPLS LDP is a protocol that establishes Label switching path(LSP), enabling the network to transmit data efficiently and providing the foundation for services such as VPWS and VPLS.

MPLS LDP CLI Commands

The following table lists commonly used CLI commands for MPLS and MPLS LDP configuration, including their functions for setup, control, and troubleshooting.

No.

CLI Command

Function

1

mpls

Enables MPLS globally and on interfaces

2

mpls ldp

Enables LDP globally and on interfaces

3

lsr-id

Configures the LSR ID (Router ID) of the device (in LDP view)

4

transport-address

Configures the transport address for LDP sessions (in LDP view)

5

targeted-peer <ip-address>

Configures targeted LDP peers for L2VPN services such as VPWS and VPLS (in LDP view)

6

explicit-null

Enables explicit NULL label configuration (in LDP view)

7

label control-mode {independent | ordered}

Configures the LDP label distribution control mode (in LDP view)

8

pwe3

Enables PWE3 signaling capability and allows dynamic VPWS to carry control information (in LDP view)

9

timer hello hold

Configures LDP Hello hold time (in LDP view)

10

timer hello interval

Configures Hello transmission interval (in LDP view)

11

timer keepalive hold

Configures Keepalive hold time (in LDP view)

12

timer keepalive interval

Configures Keepalive transmission interval (in LDP view)

13

timer targeted-hello hold

Configures targeted Hello hold time (in LDP view)

14

timer targeted-hello interval

Configures targeted Hello transmission interval (in LDP view)

15

mpls ldp timer hello hold

Configures Hello hold time on interfaces

16

mpls ldp timer hello interval

Configures Hello interval on interfaces

17

mpls ldp timer keepalive hold

Configures Keepalive hold time on interfaces

18

mpls ldp timer keepalive interval

Configures Keepalive interval on interfaces

19

show mpls adapter

Displays MPLS hardware adapter information

20

show mpls ftn

Displays MPLS Forwarding Table (FTN) information

21

show mpls ldp adjacency

Shows LDP adjacency relationships

22

show mpls ldp downstream

Displays downstream LDP information

23

debug mpls ldp

Enables LDP debugging

24

show mpls ldp debug

Displays LDP debug information

25

show mpls ldp fec

Displays LDP FEC mappings

26

show mpls ldp instance

Displays LDP instance information

27

show mpls ldp interface

Displays LDP interface status

28

show mpls ldp global

Displays global LDP status and information

29

show mpls ldp route

Displays LDP routing information

30

show mpls ldp session

Displays detailed LDP session information

31

show mpls ldp upstream

Displays upstream LDP information

32

show mpls ilm

Displays Incoming Label Map (ILM) information

33

show mpls static-lsp

Displays static LSP information (used in static MPLS or hybrid scenarios)

34

show mpls ldp vc

Displays LDP-based VPWS virtual circuit information

35

show mpls ldp vpls

Displays LDP-based VPLS information

Note:

No 6: Label 0 (Explicit NULL) means that the egress (last-hop) device keeps the MPLS label (0 for IPv4) so that it can apply QoS or special handling, instead of removing the label before forwarding the packet.

No 33: Static LSPs represent the static implementation mode of LDP, and they are also supported in our system. Different deployment combinations are supported, including static L2VPN over static MPLS, static L2VPN over LDP, and dynamic L2VPN over LDP.

MPLS LDP Configuration Example

Before configuring LDP, it is necessary to ensure network-layer connectivity between all nodes by configuring static routes or an IGP such as OSPF. After the configuration is completed, an LDP session is established, enabling communication between sites through LDP-based label switching.

The configuration typically involves assigning IP addresses to all interfaces, setting up Loopback addresses as LSR IDs, and advertising these routes through OSPF. Then MPLS and MPLS LDP are enabled globally on all devices, with the LSR ID and transport address configured accordingly. MPLS and LDP must also be enabled on the relevant interfaces. Finally, CE devices are configured with appropriate interface routing, completing the setup and allowing end-to-end connectivity across the network.

Show the reference application example.

Step 1. LSR A Configuration

CLI:

#

mpls

mpls ldp

lsr-id 1.1.1.1

transport-address 1.1.1.1

#

interface loopback 1

ip address 1.1.1.1 255.255.255.255

#

interface vlan 10

ip address 10.1.1.1 255.255.255.0

mpls

mpls ldp

#

interface gigabitEthernet 1/0/1

switchport general allow vlan 10 tagged

#

interface gigabitEthernet 1/0/2

no switchport

ip address 100.1.1.1 255.255.255.0

#

router ospf 1

network 10.1.1.0 255.255.255.0 area 0

network 1.1.1.1 255.255.255.255 area 0

Step 2. LSR B Configuration

CLI:

#

mpls

mpls ldp

lsr-id 2.2.2.2

transport-address 2.2.2.2

#

#

interface vlan 10

ip address 10.1.1.2 255.255.255.0

mpls

mpls ldp

#

interface vlan 20

ip address 20.1.1.1 255.255.255.0

mpls

mpls ldp

#

interface loopback 1

ip address 2.2.2.2 255.255.255.255

#

interface gigabitEthernet 1/0/1

switchport general allow vlan 10 tagged

#

interface gigabitEthernet 1/0/2

switchport general allow vlan 20 tagged

#

router ospf 1

network 10.1.1.0 255.255.255.0 area 0

network 20.1.1.0 255.255.255.0 area 0

network 2.2.2.2 255.255.255.255 area 0

Step 3. LSR C Configuration

CLI:

#

mpls

mpls ldp

lsr-id 3.3.3.3

transport-address 3.3.3.3

#

interface loopback 1

ip address 3.3.3.3 255.255.255.255

#

interface vlan 20

ip address 20.1.1.2 255.255.255.0

mpls

mpls ldp

#

interface gigabitEthernet 1/0/1

switchport general allow vlan 20 tagged

#

interface gigabitEthernet 1/0/2

no switchport

ip address 200.1.1.1 255.255.255.0

#

router ospf 1

network 20.1.1.0 255.255.255.0 area 0

network 3.3.3.3 255.255.255.255 area 0

VPWS Configuration

VPWS CLI Commands

The following are commonly used CLI commands for VPWS.

No.

Function

Description

CLI Commands

1

Establish LDP peer for VPWS connection

Establish LDP targeted peers. VPWS connections rely on LDP targeted sessions between PE devices.

targeted-peer <ip-address>

2

Enable MPLS L2VPN

Enable L2VPN globally. This command applies to both dynamic (LDP-based) and static L2VPN services.

mpls l2vpn

3

Establish VPWS connection

Create a Virtual Circuit (VC) between PE devices. If labels are not configured, dynamic LDP signaling is used; otherwise, static VPWS is established.

xconnect vc-id peer <peer-ip> [in-label <in> out-label <out>] {raw | tagged}

4

Tear down VPWS connection

Remove the VPWS connection by deleting the configured VC.

no xconnect

5

View VPWS connection status

Display configuration and operational status of VC connections for monitoring and troubleshooting.

show mpls vc [detail]

Note: VPWS is a point-to-point connection. When a VLAN interface is used as the AC interface, only one Layer 2 physical port should be configured in the VLAN. If no physical port exists in the VLAN, the VPWS connection cannot be established. If multiple physical ports are configured in the VLAN, only one port forwards traffic, which may lead to unintended behavior.

VPWS Configuration Example

Before you start configuring LDP-based VPWS, ensure that all nodes can reach each other at the network layer by setting up static routes or using an IGP such as IS-IS. After you complete the configuration, the system establishes a VPWS Layer 2 VPN tunnel, which allows you to achieve reliable point‑to‑point communication between sites.

To configure VPWS, assign IP addresses to all interfaces and configure Loopback addresses as LSR IDs, then advertise these routes using IS-IS.

Next, enable MPLS and MPLS LDP globally and configure the LSR ID, transport address, and targeted peers. You also need to enable MPLS and LDP on the relevant interfaces. After that, enable MPLS L2VPN on the PE devices, create the LDP-based VPWS connections, and finally configure routing on CE devices to complete the setup.

If LDP is not required, or if intermediate nodes in the service provider network do not support LDP, you can deploy static VPWS or VPLS instead. In this case, you need to manually configure labels between PE devices, and the VPN service does not rely on LDP signaling. This approach is suitable for scenarios where dynamic signaling is unavailable or restricted.

Show the reference application example.

Step 1. PE1 Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1111.00

#

mpls

mpls ldp

lsr-id 1.1.1.1

transport-address 1.1.1.1

targeted-peer 3.3.3.3

exit-targeted-peer

#

mpls l2vpn

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 1

ip address 1.1.1.1 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

ip address 10.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/2

no switchport

no ip address

xconnect 23 peer 3.3.3.3 raw

Step 2. P Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1112.00

#

mpls

mpls ldp

lsr-id 2.2.2.2

transport-address 2.2.2.2

#

interface loopback 2

ip address 2.2.2.2 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

ip address 20.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/2

no switchport

ip address 10.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

Step 3. PE2 Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1113.00

#

mpls

mpls ldp

lsr-id 3.3.3.3

transport-address 3.3.3.3

targeted-peer 1.1.1.1

exit-targeted-peer

#

mpls l2vpn

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 3

ip address 3.3.3.3 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

no ip address

xconnect 23 peer 1.1.1.1 raw

#

interface gigabitEthernet 1/0/2

no switchport

ip address 20.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

VPLS Configuration

VPLS CLI Commands

The following are commonly used CLI commands for VPLS.

No.

Function

Description

CLI

1

Enable MPLS and LDP

Enable MPLS and LDP globally to prepare the transport network.

mpls
mpls ldp

2

Establish LDP peer for VPLS

Establish LDP targeted peers. VPLS (LDP‑based) relies on targeted LDP sessions between PE devices.

targeted-peer <peer-ip>

3

Enable MPLS L2VPN

Enable MPLS L2VPN globally. This command applies to both static and dynamic VPLS services.

mpls l2vpn

4

Create VSI

Create a VSI instance to define the VPLS service.

vsi <vpls-name> vsi-id <vpls-id>

5

Configure signaling

Configure the signaling protocol for the VSI (dynamic or static).

signaling {static | ldp}

6

Configure encapsulation

Set the encapsulation type for Layer 2 frames (default is tagged).

encapsulation {tagged | raw}

7

Configure peers

Configure VPLS peers to establish connectivity between PE devices.

peer <peer-ip> [in-label <in> out-label <out>] [encapsulation raw/tagged] [spoke]

8

Enable/disable VSI

Enable or disable the VSI instance as needed (optional).

shutdown
no shutdown

9

Bind interfaces

Bind AC interfaces to the VSI to connect user traffic to the VPLS network.

l2vpn-binding vsi <vpls-name>
no l2vpn-binding vsi

10

Verify status

Verify and monitor VPLS configuration and operational status.

show vpls
show vpls name <vpls-name>
show vpls peer

Note:

Step 7:

This step applies to LDP-based VPLS, where you only need to configure the peer IP address. Static VPLS is not covered in this section and requires additional label configuration. The spoke option is used only in H‑VPLS and is not applicable to standard VPLS.

Step 8:

This step is optional. The VSI is enabled by default. You only need to use these commands when you want to disable or re-enable the service during maintenance or troubleshooting.

Configuration of LDP-based VPLS

The configuration of VPLS generally follows a structured approach and can be implemented in two modes: dynamic (LDP-based) and static. First, the underlay network must be established by ensuring IP connectivity between all nodes using static routes or an IGP such as IS-IS. Then, MPLS is enabled in the network to provide transport capabilities.

For dynamic VPLS, MPLS LDP is also enabled so that PE devices can automatically establish label-switched paths (LSPs) and exchange signaling information. On PE devices, MPLS L2VPN is enabled, and a VSI (Virtual Switching Instance) is created to represent the VPLS service. LDP-based peers are then configured between PE devices to build the VPLS service dynamically. After that, interfaces on the private network side (ACs) are bound to the VSI to provide connectivity for private network traffic. Finally, CE devices are configured to provide Layer 3 access if required.

For static VPLS, LDP is not required. Instead, labels and peer relationships are configured manually between PE devices. Although the overall network topology and service model remain the same as in dynamic VPLS, the configuration differs in that signaling is not automatically established. This approach is suitable for environments where LDP is not supported or not required. For H‑VPLS scenarios, both static mode and dynamic mode are also supported.

Show the reference application example.

Step 1. PE1 Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1111.00

#

mpls

mpls ldp

lsr-id 1.1.1.1

transport-address 1.1.1.1

targeted-peer 3.3.3.3

exit-targeted-peer

#

mpls l2vpn

#

vsi Temple-vsi vsi-id 200

signaling ldp

peer 3.3.3.3

#

#

interface loopback 1

ip address 1.1.1.1 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

ip address 10.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/2

no switchport

no ip address

l2vpn-binding vsi Temple-vsi

Step 2. P Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1112.00

#

mpls

mpls ldp

lsr-id 2.2.2.2

transport-address 2.2.2.2

#

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 2

ip address 2.2.2.2 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

ip address 20.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/2

no switchport

ip address 10.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

Step 3. PE2 Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1113.00

#

mpls

mpls ldp

lsr-id 3.3.3.3

transport-address 3.3.3.3

targeted-peer 1.1.1.1

exit-targeted-peer

#

mpls l2vpn

#

vsi Temple-vsi vsi-id 200

signaling ldp

peer 1.1.1.1

#

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 3

ip address 3.3.3.3 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

no ip address

l2vpn-binding vsi Temple-vsi

#

interface gigabitEthernet 1/0/2

no switchport

ip address 20.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

Configuration of LDP-based H-VPLS

H‑VPLS (Hierarchical Virtual Private LAN Service) is an enhanced and scalable form of VPLS designed for large‑scale networks. When the number of devices in a VPLS domain grows, a full‑mesh VPLS topology becomes complex and costly. H‑VPLS addresses this issue by introducing a hierarchical structure that separates access nodes (UPEs) from service/core nodes (SPEs). This layered design simplifies the network topology, reduces the number of VPLS peer connections, and lowers overall deployment and operational costs, while still providing transparent Layer‑2 connectivity for users.

The configuration of LDP‑based H‑VPLS follows a clear step‑by‑step approach. First, IP connectivity between all nodes must be ensured using static routes or an IGP such as IS‑IS. MPLS and MPLS LDP are then enabled globally and on all relevant interfaces, with Loopback addresses configured as LSR IDs. MPLS L2VPN is enabled on PE devices.

On SPE devices, a VSI is created and full‑mesh VPLS peers are established between SPEs, while peers facing UPEs are configured as spoke peers. On UPE devices, a VSI is also created, but only normal mesh peers toward SPEs are configured. Finally, CE interfaces are configured to complete user access, enabling efficient and scalable L2VPN services across large networks.

The following is a reference application example and CLI configuration commands.

Show the reference application example.

Step 1. Spoke‑PE Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1111.00

#

mpls

mpls ldp

lsr-id 1.1.1.1

transport-address 1.1.1.1

targeted-peer 2.2.2.2

exit-targeted-peer

#

mpls l2vpn

#

vsi Temple-vsi vsi-id 200

signaling ldp

peer 2.2.2.2

#

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 1

ip address 1.1.1.1 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

ip address 10.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/2

no switchport

no ip address

l2vpn-binding vsi Temple-vsi

Step 2. Hub‑PE 1 Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1112.00

#

mpls

mpls ldp

lsr-id 2.2.2.2

transport-address 2.2.2.2

targeted-peer 1.1.1.1

exit-targeted-peer

targeted-peer 3.3.3.3

exit-targeted-peer

targeted-peer 4.4.4.4

exit-targeted-peer

#

mpls l2vpn

#

vsi Temple-vsi vsi-id 200

signaling ldp

peer 1.1.1.1 spoke

peer 3.3.3.3

peer 4.4.4.4

#

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 2

ip address 2.2.2.2 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

ip address 20.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/2

no switchport

ip address 10.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/3

no switchport

ip address 30.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

Step 3. Hub‑PE 2 Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1113.00

#

mpls

mpls ldp

lsr-id 3.3.3.3

transport-address 3.3.3.3

targeted-peer 2.2.2.2

exit-targeted-peer

targeted-peer 4.4.4.4

exit-targeted-peer

#

mpls l2vpn

#

vsi Temple-vsi vsi-id 200

signaling ldp

peer 2.2.2.2

peer 4.4.4.4

#

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 3

ip address 3.3.3.3 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

no ip address

l2vpn-binding vsi Temple-vsi

#

interface gigabitEthernet 1/0/2

no switchport

ip address 20.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/3

no switchport

ip address 40.0.0.1 255.255.255.0

ip router isis 100

mpls

mpls ldp

Step 4. Hub‑PE 3 Configuration

CLI:

router isis 100

net 00.0001.0000.0000.1114.00

#

mpls

mpls ldp

lsr-id 4.4.4.4

transport-address 4.4.4.4

targeted-peer 2.2.2.2

exit-targeted-peer

targeted-peer 3.3.3.3

exit-targeted-peer

#

mpls l2vpn

#

vsi Temple-vsi vsi-id 200

signaling ldp

peer 2.2.2.2

peer 3.3.3.3

#

#

interface vlan 1

ip address-alloc dhcp

#

interface loopback 4

ip address 4.4.4.4 255.255.255.255

ip router isis 100

#

interface gigabitEthernet 1/0/1

no switchport

no ip address

l2vpn-binding vsi Temple-vsi

#

interface gigabitEthernet 1/0/2

no switchport

ip address 30.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

#

interface gigabitEthernet 1/0/3

no switchport

ip address 40.0.0.2 255.255.255.0

ip router isis 100

mpls

mpls ldp

Conclusion

This FAQ introduces the VPWS/VPLS feature and explains how to configure it using the switch CLI.

Get to know more details of each function and configuration please go to Download Center to download the manual of your product.

Please Rate this Document

Related Documents