Selective QinQ configuration example (inner VLAN ID substitution)
Network requirements
As shown in Figure 68:
Company A uses CVLAN 10 and CVLAN 20 to transmit voice traffic and data traffic separately, and Company B uses CVLAN 30 and CVLAN 40 to transmit voice traffic and data traffic separately. The services of the two companies are integrated together.
PE 1 and PE 2 are edge devices on the service provider network and are connected through third-party devices with a TPID value of 0x8200.
Configure the edge and third-party devices to allow the voice traffic and data traffic to be transmitted between the two companies via SVLAN 100 SVLAN 200 separately.
Figure 68: Network diagram
Configuration procedure
IMPORTANT: Make sure that you have configured the devices in the service provider network to allow QinQ packets to pass through. | ||
Configure PE 1:
Configure GigabitEthernet 1/0/1:
# Configure GigabitEthernet 1/0/1 as a hybrid port to permit frames of VLAN 100 and VLAN 200 to pass through untagged.
<PE1> system-view [PE1] interface gigabitethernet 1/0/1 [PE1-GigabitEthernet1/0/1] port link-type hybrid [PE1-GigabitEthernet1/0/1] port hybrid vlan 100 200 untagged [PE1-GigabitEthernet1/0/1] quit
# Create class A10 and configure the class to match frames with CVLAN 10.
[PE1] traffic classifier A10 [PE1-classifier-A10] if-match customer-vlan-id 10 [PE1-classifier-A10] quit
# Create traffic behavior P100 and add the action of inserting outer VLAN tag 100.
[PE1] traffic behavior P100 [PE1-behavior-P100] nest top-most vlan-id 100 [PE1-behavior-P100] quit
# Create class A20 and configure the class to match frames with CVLAN 20. Create traffic behavior P200 and add the action of inserting outer VLAN tag 200.
[PE1] traffic classifier A20 [PE1-classifier-A20] if-match customer-vlan-id 20 [PE1-classifier-A20] quit [PE1] traffic behavior P200 [PE1-behavior-P200] nest top-most vlan-id 200 [PE1-behavior-P200] quit
# Create a QoS policy named qinq, associate traffic class A10 with traffic behavior P100, and associate traffic class A20 with traffic behavior P200.
[PE1] qos policy qinq [PE1-qospolicy-qinq] classifier A10 behavior P100 [PE1-qospolicy-qinq] classifier A20 behavior P200 [PE1-qospolicy-qinq] quit
# Enable basic QinQ on the port.
[PE1] interface gigabitethernet 1/0/1 [PE1-GigabitEthernet1/0/1] qinq enable
# Apply QoS policy qinq to the incoming traffic on the port.
[PE1-GigabitEthernet1/0/1] qos apply policy qinq inbound
Configure GigabitEthernet 1/0/2:
# Configure GigabitEthernet 1/0/2 as a trunk port and assign it to VLAN 100 and VLAN 200.
[PE1] interface gigabitethernet 1/0/2 [PE1-GigabitEthernet1/0/2] port link-type trunk [PE1-GigabitEthernet1/0/2] port trunk permit vlan 100 200
# Create class A100 and configure the class to match frames with CVLAN 10 and SVLAN 100.
[PE1] traffic classifier A100 [PE1-classifier-A100] if-match customer-vlan-id 10 [PE1-classifier-A100] if-match service-vlan-id 100 [PE1-classifier-A100] quit
# Configure traffic behavior T100 to mark matching packets with CVLAN 30.
[PE1] traffic behavior T100 [PE1-behavior-T100] remark customer-vlan-id 30 [PE1-behavior-T100] quit
# Create class A200 and configure the class to match frames with CVLAN 20 and SVLAN 200.
[PE1] traffic classifier A200 [PE1-classifier-A200] if-match customer-vlan-id 20 [PE1-classifier-A200] if-match service-vlan-id 200 [PE1-classifier-A200] quit
# Configure traffic behavior T200 to mark matching packets with CVLAN 40.
[PE1] traffic behavior T200 [PE1-behavior-T200] remark customer-vlan-id 40 [PE1-behavior-T200] quit
# Create a QoS policy named sqinq, associate traffic class A100 with traffic behavior T100, and associate traffic class A200 with traffic behavior T200.
[PE1] qos policy sqinq [PE1-qospolicy-sqinq] classifier A100 behavior T100 [PE1-qospolicy-sqinq] classifier A200 behavior T200 [PE1-qospolicy-sqinq] quit
# Apply QoS policy sqinq to the outgoing traffic on the port.
[PE1-GigabitEthernet1/0/2] qos apply policy sqinq outbound
# Set the TPID value in the outer tag to 0x8200.
[PE1-GigabitEthernet1/0/2] qinq ethernet-type service-tag 8200 [PE1-GigabitEthernet1/0/2] quit
Configure PE 2:
Configure GigabitEthernet 1/0/1:
# Configure GigabitEthernet 1/0/1 as a hybrid port to permit frames of VLAN 100 and VLAN 200 to pass through untagged.
[PE2] interface gigabitethernet 1/0/1 [PE2-GigabitEthernet1/0/1] port link-type hybrid [PE2-GigabitEthernet1/0/1] port hybrid vlan 100 200 untagged [PE2-GigabitEthernet1/0/1] quit
# Create class A30 and configure the class to match frames with CVLAN 30.
[PE2] traffic classifier A30 [PE2-classifier-A30] if-match customer-vlan-id 30 [PE2-classifier-A30] quit
# Create traffic behavior P100 and add the action of inserting outer VLAN tag 100.
[PE2] traffic behavior P100 [PE2-behavior-P100] nest top-most vlan-id 100 [PE2-behavior-P100] quit
# Create class A40 and configure the class to match frames with CVLAN 40. Create traffic behavior P200 and add the action of inserting outer VLAN tag 200.
[PE2] traffic classifier A40 [PE2-classifier-A40] if-match customer-vlan-id 40 [PE2-classifier-A40] quit [PE2] traffic behavior P200 [PE2-behavior-P200] nest top-most vlan-id 200 [PE2-behavior-P200] quit
# Create a QoS policy named qinq, associate traffic class A30 with traffic behavior P100, and associate traffic class A40 with traffic behavior P200.
[PE2] qos policy qinq [PE2-qospolicy-qinq] classifier A30 behavior P100 [PE2-qospolicy-qinq] classifier A40 behavior P200 [PE2-qospolicy-qinq] quit
# Enable basic QinQ on the port.
[PE2] interface gigabitethernet 1/0/1 [PE2-GigabitEthernet1/0/1] qinq enable
# Apply QoS policy qinq to the incoming traffic on the port.
[PE2-GigabitEthernet1/0/1] qos apply policy qinq inbound
Configure GigabitEthernet 1/0/2:
# Configure GigabitEthernet 1/0/2 as a trunk port and assign it to VLAN 100 and VLAN 200.
[PE2] interface gigabitethernet 1/0/2 [PE2-GigabitEthernet1/0/2] port link-type trunk [PE2-GigabitEthernet1/0/2] port trunk permit vlan 100 200
# Create class A100 and configure the class to match frames with CVLAN 30 and SVLAN 100.
[PE2] traffic classifier A100 [PE2-classifier-A100] if-match customer-vlan-id 30 [PE2-classifier-A100] if-match service-vlan-id 100 [PE2-classifier-A100] quit
# Configure traffic behavior T100 to mark matching packets with CVLAN 10.
[PE2] traffic behavior T100 [PE2-behavior-T100] remark customer-vlan-id 10 [PE2-behavior-T100] quit
# Create class A200 and configure the class to match frames with CVLAN 40 and SVLAN 200.
[PE2] traffic classifier A200 [PE2-classifier-A200] if-match customer-vlan-id 40 [PE2-classifier-A200] if-match service-vlan-id 200 [PE2-classifier-A200] quit
# Configure traffic behavior T200 to mark matching packets with CVLAN 20.
[PE2] traffic behavior T200 [PE2-behavior-T200] remark customer-vlan-id 20 [PE2-behavior-T200] quit
# Create a QoS policy named sqinq, associate traffic class A100 with traffic behavior T100, and associate traffic class A200 with traffic behavior T200.
[PE2] qos policy sqinq [PE2-qospolicy-sqinq] classifier A100 behavior T100 [PE2-qospolicy-sqinq] classifier A200 behavior T200 [PE2-qospolicy-sqinq] quit
# Apply QoS policy sqinq to the outgoing traffic on the port.
[PE2] interface gigabitethernet 1/0/2 [PE1-GigabitEthernet1/0/2] qos apply policy sqinq outbound
# Set the TPID value in the outer tag to 0x8200.
[PE2-GigabitEthernet1/0/2] qinq ethernet-type service-tag 8200 [PE2-GigabitEthernet1/0/2] quit
On the third-party devices between PE 1 and PE 2, configure the port that connects to PE 1 and that connecting to PE 2 to allow tagged frames of VLAN 100 and VLAN 200 to pass through. (Details not shown.)