As a point-to-point (P2P) Layer 2 tunneling technology based on MPLS, VLL transparently transmits Layer 2 data packets over the MPLS backbone network, so that geographically isolated sites that belong to the same VLAN can communicate with each other.
After QinQ termination sub-interfaces are connected to a VLL network, the sub-interfaces on devices terminate double VLAN tags before sending the packets to the VLL network.
QinQ termination sub-interfaces apply to scenarios where all the VLANs (such as VLAN 100 to VLAN 200) of one site need to communicate with a remote site over the VLL network or VLAN resources of the public network need to be saved. In these scenarios, the switching device deployed between the CE and PE devices adds the same outer VLAN tag to packets carrying different inner VLAN tags from different CE devices. The sub-interface on the PE device then terminates double VLAN tags in QinQ packets and sends the packets to the VLL tunnel.
QinQ is an extension to MAN Ethernet VPN on the core VLL network. It can form an end-to-end VPN solution to implement Layer 2 communication between geographically isolated users.
For applicable product models and versions, see Applicable Product Models and Versions.
For details about software mappings, visit Hardware Query Tool and search for the desired product model.
As shown in Figure 1, CE1 and CE2 are connected to PE1 and PE2 respectively through VLANs.
A Martini VLL is set up between CE1 and CE2.
Switch1 is connected to CE1 and PE1.
Switch2 is connected to CE2 and PE2.
You are required to configure selective QinQ on the interfaces connected to CEs so that the Switch adds the VLAN tags specified by the carrier to the packets sent from CEs.
When the Switch is connected to multiple CEs, the Switch can add the same VLAN tag to the packets from different CEs, thereby saving VLAN IDs on the public network.
Switch |
Interface |
VLANIF Interface |
IP Address |
---|---|---|---|
PE1 |
GigabitEthernet1/0/0 |
GigabitEthernet1/0/0.1 |
- |
- |
GigabitEthernet2/0/0 |
VLANIF20 |
10.1.1.1/24 |
- |
Loopback1 |
- |
1.1.1.1/32 |
PE2 |
GigabitEthernet1/0/0 |
VLANIF30 |
10.2.2.1/24 |
- |
GigabitEthernet2/0/0 |
GigabitEthernet2/0/0.1 |
- |
- |
Loopback1 |
- |
3.3.3.3/32 |
P |
GigabitEthernet1/0/0 |
VLANIF30 |
10.2.2.2/24 |
- |
GigabitEthernet2/0/0 |
VLANIF20 |
10.1.1.2/24 |
- |
Loopback1 |
- |
2.2.2.2/32 |
CE1 |
GigabitEthernet1/0/0 |
VLANIF10 |
10.10.10.1/24 |
CE2 |
GigabitEthernet1/0/0 |
VLANIF10 |
10.10.10.2/24 |
The configuration roadmap is as follows:
Configure a routing protocol on devices (PE and P) of the backbone network to implement interworking, and enable MPLS.
Use the default tunnel policy to create an LSP and configure the LSP for data transmission.
Enable MPLS L2VPN and create VC connections on PEs.
Configure QinQ termination sub-interfaces on PE interfaces connected to the switches to implement VLL access.
Configure selective QinQ on the switch interfaces connected to CEs.
# Configure CE1 to ensure that packets sent from CE1 to Switch1 carry single VLAN tag.
<HUAWEI> system-view [HUAWEI] sysname CE1 [CE1] vlan batch 10 [CE1] interface gigabitethernet 1/0/0 [CE1-GigabitEthernet1/0/0] port link-type trunk [CE1-GigabitEthernet1/0/0] port trunk allow-pass vlan 10 [CE1-GigabitEthernet1/0/0] quit [CE1] interface vlanif 10 [CE1-Vlanif10] ip address 10.10.10.1 24 [CE1-Vlanif10] quit
# Configure CE2 to ensure that packets sent from CE2 to Switch2 carry single VLAN tag.
<HUAWEI> system-view [HUAWEI] sysname CE2 [CE2] vlan batch 10 [CE2] interface gigabitethernet 1/0/0 [CE2-GigabitEthernet1/0/0] port link-type trunk [CE2-GigabitEthernet1/0/0] port trunk allow-pass vlan 10 [CE2-GigabitEthernet1/0/0] quit [CE2] interface vlanif 10 [CE2-Vlanif10] ip address 10.10.10.2 24 [CE2-Vlanif10] quit
# Configure PE1.
<HUAWEI> system-view [HUAWEI] sysname PE1 [PE1] vlan batch 20 [PE1] interface gigabitethernet 2/0/0 [PE1-GigabitEthernet2/0/0] port link-type hybrid [PE1-GigabitEthernet2/0/0] port hybrid pvid vlan 20 [PE1-GigabitEthernet2/0/0] port hybrid tagged vlan 20 [PE1-GigabitEthernet2/0/0] quit [PE1] interface vlanif 20 [PE1-Vlanif20] ip address 10.1.1.1 24 [PE1-Vlanif20] quit
# Configure the P.
<HUAWEI> system-view [HUAWEI] sysname P [P] vlan batch 20 30 [P] interface gigabitethernet 1/0/0 [P-GigabitEthernet1/0/0] port link-type hybrid [P-GigabitEthernet1/0/0] port hybrid pvid vlan 30 [P-GigabitEthernet1/0/0] port hybrid tagged vlan 30 [P-GigabitEthernet1/0/0] quit [P] interface gigabitethernet 2/0/0 [P-GigabitEthernet2/0/0] port link-type hybrid [P-GigabitEthernet2/0/0] port hybrid pvid vlan 20 [P-GigabitEthernet2/0/0] port hybrid tagged vlan 20 [P-GigabitEthernet2/0/0] quit [P] interface vlanif 20 [P-Vlanif20] ip address 10.1.1.2 24 [P-Vlanif20] quit [P] interface vlanif 30 [P-Vlanif30] ip address 10.2.2.2 24 [P-Vlanif30] quit
# Configure PE2.
<HUAWEI> system-view [HUAWEI] sysname PE2 [PE2] vlan batch 30 [PE2] interface gigabitethernet 1/0/0 [PE2-GigabitEthernet1/0/0] port link-type hybrid [PE2-GigabitEthernet1/0/0] port hybrid pvid vlan 30 [PE2-GigabitEthernet1/0/0] port hybrid tagged vlan 30 [PE2-GigabitEthernet1/0/0] quit [PE2] interface vlanif 30 [PE2-Vlanif30] ip address 10.2.2.1 24 [PE2-Vlanif30] quit
# Configure Switch1.
<HUAWEI> system-view [HUAWEI] sysname Switch1 [Switch1] vlan 100 [Switch1-vlan100] quit [Switch1] interface gigabitethernet2/0/0 [Switch1-GigabitEthernet2/0/0] port link-type hybrid [Switch1-GigabitEthernet2/0/0] port hybrid tagged vlan 100 [Switch1-GigabitEthernet2/0/0] quit [Switch1] interface gigabitethernet1/0/0 [Switch1-GigabitEthernet1/0/0] port link-type hybrid [Switch1-GigabitEthernet1/0/0] port hybrid untagged vlan 100 [Switch1-GigabitEthernet1/0/0] port vlan-stacking vlan 10 stack-vlan 100 //On a fixed switch, first run the qinq vlan-translation enable command to enable VLAN translation. [Switch1-GigabitEthernet1/0/0] quit
# Configure Switch2.
<HUAWEI> system-view [HUAWEI] sysname Switch2 [Switch2] vlan 100 [Switch2-vlan100] quit [Switch2] interface gigabitethernet2/0/0 [Switch2-GigabitEthernet2/0/0] port link-type hybrid [Switch2-GigabitEthernet2/0/0] port hybrid tagged vlan 100 [Switch2-GigabitEthernet2/0/0] quit [Switch2] interface gigabitethernet1/0/0 [Switch2-GigabitEthernet1/0/0] port link-type hybrid [Switch2-GigabitEthernet1/0/0] port hybrid untagged vlan 100 [Switch2-GigabitEthernet1/0/0] port vlan-stacking vlan 10 stack-vlan 100 //On a fixed switch, first run the qinq vlan-translation enable command to enable VLAN translation. [Switch2-GigabitEthernet1/0/0] quit
Configure PE1, P, and PE2 to advertise 32-bit loopback interface addresses as the LSR IDs.
# Configure PE1.
[PE1] router id 1.1.1.1 [PE1] interface loopback 1 [PE1-LoopBack1] ip address 1.1.1.1 32 [PE1-LoopBack1] quit [PE1] ospf 1 [PE1-ospf-1] area 0 [PE1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0 [PE1-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.255 [PE1-ospf-1-area-0.0.0.0] quit [PE1-ospf-1] quit
# Configure the P.
[P] router id 2.2.2.2 [P] interface loopback 1 [P-LoopBack1] ip address 2.2.2.2 32 [P-LoopBack1] quit [P] ospf 1 [P-ospf-1] area 0 [P-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0 [P-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.255 [P-ospf-1-area-0.0.0.0] network 10.2.2.2 0.0.0.255 [P-ospf-1-area-0.0.0.0] quit [P-ospf-1] quit
# Configure PE2.
[PE2] router id 3.3.3.3 [PE2] interface loopback 1 [PE2-LoopBack1] ip address 3.3.3.3 32 [PE2-LoopBack1] quit [PE2] ospf 1 [PE2-ospf-1] area 0 [PE2-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0 [PE2-ospf-1-area-0.0.0.0] network 10.2.2.1 0.0.0.255 [PE2-ospf-1-area-0.0.0.0] quit [PE2-ospf-1] quit
# After the configuration is complete, PE1, P, and PE2 can establish OSPF neighbor relationships. Run the display ospf peer command. You can see that the OSPF neighbor relationship status is Full. Run the display ip routing-table command. You can see that the PEs learn the route to the Loopback1 interface of each other. The display on PE1 is used as an example:
[PE1] display ospf peer OSPF Process 1 with Router ID 1.1.1.1 Neighbors Area 0.0.0.0 interface 10.1.1.1(Vlanif20)'s neighbors Router ID: 2.2.2.2 Address: 10.1.1.2 State: Full Mode:Nbr is Master Priority: 1 DR: 10.1.1.2 BDR: 10.1.1.1 MTU: 0 Dead timer due in 34 sec Retrans timer interval: 5 Neighbor is up for 00:01:16 Authentication Sequence: [ 0 ]
[PE1] display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack1
2.2.2.2/32 OSPF 10 1 D 10.1.1.2 Vlanif20
3.3.3.3/32 OSPF 10 2 D 10.1.1.2 Vlanif20
10.1.1.0/24 Direct 0 0 D 10.1.1.1 Vlanif20
10.1.1.1/32 Direct 0 0 D 127.0.0.1 Vlanif20
10.2.2.0/24 OSPF 10 2 D 10.1.1.2 Vlanif20
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
# Configure PE1.
[PE1] mpls lsr-id 1.1.1.1 [PE1] mpls [PE1-mpls] quit [PE1] mpls ldp [PE1-mpls-ldp] quit [PE1] interface vlanif 20 [PE1-Vlanif20] mpls [PE1-Vlanif20] mpls ldp [PE1-Vlanif20] quit
# Configure the P.
[P] mpls lsr-id 2.2.2.2 [P] mpls [P-mpls] quit [P] mpls ldp [P-mpls-ldp] quit [P] interface vlanif 20 [P-Vlanif20] mpls [P-Vlanif20] mpls ldp [P-Vlanif20] quit [P] interface vlanif 30 [P-Vlanif30] mpls [P-Vlanif30] mpls ldp [P-Vlanif30] quit
# Configure PE2.
[PE2] mpls lsr-id 3.3.3.3 [PE2] mpls [PE2-mpls] quit [PE2] mpls ldp [PE2-mpls-ldp] quit [PE2] interface vlanif 30 [PE2-Vlanif30] mpls [PE2-Vlanif30] mpls ldp [PE2-Vlanif30] quit
# Configure PE1.
[PE1] mpls ldp remote-peer 3.3.3.3 [PE1-mpls-ldp-remote-3.3.3.3] remote-ip 3.3.3.3 [PE1-mpls-ldp-remote-3.3.3.3] quit
# Configure PE2.
[PE2] mpls ldp remote-peer 1.1.1.1 [PE2-mpls-ldp-remote-1.1.1.1] remote-ip 1.1.1.1 [PE2-mpls-ldp-remote-1.1.1.1] quit
After the configuration is complete, run the display mpls ldp session command on PE1 to view the LDP session setup. You can see that an LDP session is set up between PE1 and PE2.
The display on PE1 is used as an example:
[PE1] display mpls ldp session LDP Session(s) in Public Network Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM) A '*' before a session means the session is being deleted. ------------------------------------------------------------------------------ PeerID Status LAM SsnRole SsnAge KASent/Rcv ------------------------------------------------------------------------------ 2.2.2.2:0 Operational DU Passive 0000:15:29 3717/3717 3.3.3.3:0 Operational DU Passive 0000:00:00 2/2 ------------------------------------------------------------------------------ TOTAL: 2 session(s) Found.
# On PE1, create a VC connection on gigabitethernet1/0/0.1 connected to Switch1.
[PE1] mpls l2vpn [PE1-l2vpn] quit [PE1] vcmp role silent [PE1] interface gigabitethernet1/0/0 [PE1-GigabitEthernet1/0/0] port link-type hybrid [PE1-GigabitEthernet1/0/0] quit [PE1] interface gigabitethernet1/0/0.1 [PE1-GigabitEthernet1/0/0.1] qinq termination pe-vid 100 ce-vid 10 [PE1-GigabitEthernet1/0/0.1] mpls l2vc 3.3.3.3 101 [PE1-GigabitEthernet1/0/0.1] quit
# On PE2, create a VC connection on gigabitethernet2/0/0.1 connected to Switch2.
[PE2] mpls l2vpn [PE2-l2vpn] quit [PE2] vcmp role silent [PE2] interface gigabitethernet2/0/0 [PE2-GigabitEthernet2/0/0] port link-type hybrid [PE2-GigabitEthernet2/0/0] quit [PE2] interface gigabitethernet2/0/0.1 [PE2-GigabitEthernet2/0/0.1] qinq termination pe-vid 100 ce-vid 10 [PE2-GigabitEthernet2/0/0.1] mpls l2vc 1.1.1.1 101 [PE2-GigabitEthernet2/0/0.1] quit
Check the L2VPN connections on PEs. You can see that an L2VC connection has been set up and is in Up state.
The display on PE1 is used as an example:
[PE1] display mpls l2vc interface gigabitethernet1/0/0.1 *client interface : GigabitEthernet1/0/0.1 is up Administrator PW : no session state : up AC status : up Ignore AC state : disable VC state : up Ignore AC state : disable Label state : 0 Token state : 0 VC ID : 101 VC type : VLAN destination : 3.3.3.3 local group ID : 0 remote group ID : 0 local VC label : 23552 remote VC label : 23552 local AC OAM State : up local PSN OAM State : up local forwarding state : forwarding local status code : 0x0 remote AC OAM state : up remote PSN OAM state : up remote forwarding state: forwarding remote status code : 0x0 ignore standby state : no BFD for PW : unavailable VCCV State : up manual fault : not set active state : active forwarding entry : exist link state : up local VC MTU : 1500 remote VC MTU : 1500 local VCCV : alert ttl lsp-ping bfd remote VCCV : alert ttl lsp-ping bfd local control word : disable remote control word : disable tunnel policy name : -- PW template name : -- primary or secondary : primary load balance type : flow Access-port : false Switchover Flag : false VC tunnel/token info : 1 tunnels/tokens NO.0 TNL type : lsp , TNL ID : 0x10031 Backup TNL type : lsp , TNL ID : 0x0 create time : 1 days, 22 hours, 15 minutes, 9 seconds up time : 0 days, 22 hours, 54 minutes, 57 seconds last change time : 0 days, 22 hours, 54 minutes, 57 seconds VC last up time : 2010/10/09 19:26:37 VC total up time : 1 days, 20 hours, 42 minutes, 30 seconds CKey : 8 NKey : 3 PW redundancy mode : frr AdminPw interface : -- AdminPw link state : -- Diffserv Mode : uniform Service Class : be Color : -- DomainId : -- Domain Name : --
CE1 and CE2 can ping each other.
The display on CE1 is used as an example:
[CE1] ping 10.10.10.2 PING 10.10.10.2: 56 data bytes, press CTRL_C to break Reply from 10.10.10.2: bytes=56 Sequence=1 ttl=255 time=31 ms Reply from 10.10.10.2: bytes=56 Sequence=2 ttl=255 time=10 ms Reply from 10.10.10.2: bytes=56 Sequence=3 ttl=255 time=5 ms Reply from 10.10.10.2: bytes=56 Sequence=4 ttl=255 time=2 ms Reply from 10.10.10.2: bytes=56 Sequence=5 ttl=255 time=28 ms --- 10.10.10.2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 2/15/31 ms
Configuration file of CE1
#
sysname CE1
#
vlan batch 10
#
interface Vlanif10
ip address 10.10.10.1 255.255.255.0
#
interface GigabitEthernet1/0/0
port link-type trunk
port trunk allow-pass vlan 10
#
return
Configuration file of Switch1
# sysname Switch1 # vlan batch 100 # interface GigabitEthernet1/0/0 port link-type hybrid port hybrid untagged vlan 100 port vlan-stacking vlan 10 stack-vlan 100 # interface GigabitEthernet2/0/0 port link-type hybrid port hybrid tagged vlan 100 # return
Configuration file of PE1
# sysname PE1 # router id 1.1.1.1 # vcmp role silent # vlan batch 20 # mpls lsr-id 1.1.1.1 mpls # mpls l2vpn # mpls ldp # mpls ldp remote-peer 3.3.3.3 remote-ip 3.3.3.3 # interface Vlanif20 ip address 10.1.1.1 255.255.255.0 mpls mpls ldp # interface GigabitEthernet1/0/0 port link-type hybrid # interface GigabitEthernet1/0/0.1 qinq termination pe-vid 100 ce-vid 10 mpls l2vc 3.3.3.3 101 # interface GigabitEthernet2/0/0 port link-type hybrid port hybrid pvid vlan 20 port hybrid tagged vlan 20 # interface LoopBack1 ip address 1.1.1.1 255.255.255.255 # ospf 1 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 10.1.1.0 0.0.0.255 # return
Configuration file of the P
# sysname P # router id 2.2.2.2 # vlan batch 20 30 # mpls lsr-id 2.2.2.2 mpls # mpls ldp # interface Vlanif20 ip address 10.1.1.2 255.255.255.0 mpls mpls ldp # interface Vlanif30 ip address 10.2.2.2 255.255.255.0 mpls mpls ldp # interface GigabitEthernet1/0/0 port link-type hybrid port hybrid pvid vlan 30 port hybrid tagged vlan 30 # interface GigabitEthernet2/0/0 port link-type hybrid port hybrid pvid vlan 20 port hybrid tagged vlan 20 # interface LoopBack1 ip address 2.2.2.2 255.255.255.255 # ospf 1 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 10.1.1.0 0.0.0.255 network 10.2.2.0 0.0.0.255 # return
Configuration file of PE2
# sysname PE2 # router id 3.3.3.3 # vcmp role silent # vlan batch 30 # mpls lsr-id 3.3.3.3 mpls # mpls l2vpn # mpls ldp # mpls ldp remote-peer 1.1.1.1 remote-ip 1.1.1.1 # interface Vlanif30 ip address 10.2.2.1 255.255.255.0 mpls mpls ldp # interface GigabitEthernet1/0/0 port link-type hybrid port hybrid pvid vlan 30 port hybrid tagged vlan 30 # interface GigabitEthernet2/0/0 port link-type hybrid # interface GigabitEthernet2/0/0.1 qinq termination pe-vid 100 ce-vid 10 mpls l2vc 1.1.1.1 101 # interface LoopBack1 ip address 3.3.3.3 255.255.255.255 # ospf 1 area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 10.2.2.0 0.0.0.255 # return
Configuration file of Switch2
# sysname Switch2 # vlan batch 100 # interface GigabitEthernet1/0/0 port link-type hybrid port hybrid untagged vlan 100 port vlan-stacking vlan 10 stack-vlan 100 # interface GigabitEthernet2/0/0 port link-type hybrid port hybrid tagged vlan 100 # return
Configuration file of CE2
#
sysname CE2
#
vlan batch 10
#
interface Vlanif10
ip address 10.10.10.2 255.255.255.0
#
interface GigabitEthernet1/0/0
port link-type trunk
port trunk allow-pass vlan 10
#
return
Product |
Product Model |
Software Version |
---|---|---|
S5700 |
S5700-HI |
V200R002C00, V200R003C00, V200R005(C00SPC500&C01&C02) |
S5710-EI |
V200R002C00, V200R003C00, V200R005(C00&C02) |
|
S5720-EI |
V200R009C00, V200R010C00, V200R011C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
|
S5710-HI |
V200R003C00, V200R005(C00&C02&C03) |
|
S5720-HI |
V200R007C10, V200R009C00, V200R010C00, V200R011C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
|
S5730-HI |
V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
|
S5731-H |
V200R013C02, V200R019C00, V200R019C10 |
|
S5731-S, S5731S-S |
V200R019C00, V200R019C10 |
|
S5731S-H |
V200R019C00, V200R019C10 |
|
S5732-H |
V200R019C00, V200R019C10 |
|
S6700 |
S6700-EI |
V200R005(C00&C01) |
S6720-EI |
V200R008C00, V200R009C00, V200R010C00, V200R011C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
|
S6720S-EI |
V200R009C00, V200R010C00, V200R011C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
|
S6720-HI |
V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
|
S6730-H |
V200R013C02, V200R019C00, V200R019C10 |
|
S6730S-H |
V200R019C10 |
|
S6730-S, S6730S-S |
V200R019C00, V200R019C10 |
|
S7700 |
S7703, S7706, S7712 |
V200R001(C00&C01), V200R002C00, V200R003C00, V200R005C00, V200R006C00, V200R007C00, V200R008C00, V200R009C00, V200R010C00, V200R011C10, V200R012C00, V200R013C00, V200R013C02, V200R019C00, V200R019C10 |
S7703 PoE |
V200R013C00, V200R019C00, V200R019C10 |
|
S7706 PoE |
V200R013C00, V200R019C00, V200R019C10 |
|
S9700 |
S9703, S9706, S9712 |
V200R001(C00&C01), V200R002C00, V200R003C00, V200R005C00, V200R006C00, V200R007(C00&C10), V200R008C00, V200R009C00, V200R010C00, V200R011C10, V200R012C00, V200R013C00 |