This article describes a workaround to break the limitation of having CE and PE router configurations on separate devices.
Note: It is always preferable to implement Juniper traditional QinQ deployments (Refer to KB33838 - How to configure QinQ using ELS on Junos OS [juniper.net] ), as OS bugs or unexpected behaviors may not have full engineering support when running this workaround.
For QinQ to work on Junos devices, you must define switch roles to either work as CE or PE devices. You can overcome this limitation by looping two ports on a single switch which will have both roles consecutively.
Topology Diagram Example:
CUST SIDE 1 Using Workaround Configuration
Configure the CE side of CE1-PE1
root@CE1-PE1# show vlans vlan1 { vlan-id 1; } vlan10 { vlan-id 10; } vlan24 { vlan-id 24; }
root@CE1-PE1# show interfaces ge-0/0/10 unit 0 { description CE_Interface; family ethernet-switching { interface-mode trunk; vlan { members [ 1 10 24 ]; } } }
(Optional) Configure a Layer 3 IP on CE1-PE1 for reachability purposes
root@CE1-PE1# show interfaces ge-0/0/10 | match flex flexible-vlan-tagging; root@CE1-PE1# show interfaces ge-0/0/10 unit 25 vlan-id 25; family inet { address 25.25.25.1/24; }
Configure the PE side of CE1-PE1
root@CE1-PE1# show vlans SP800 { interface ge-0/0/11.800; interface ge-0/0/0.800; switch-options { no-mac-learning; } } root@CE1-PE1# show interfaces ge-0/0/11 flexible-vlan-tagging; encapsulation extended-vlan-bridge; unit 800 { description PE_Interface; vlan-id-list 1-25; input-vlan-map push; output-vlan-map pop; } root@CE1-PE1# show interfaces ge-0/0/0 flexible-vlan-tagging; encapsulation extended-vlan-bridge; unit 800 { description SP_Interface; vlan-id 800; }
root@CE1-PE1# show vlans SP800 { interface ge-0/0/11.800; interface ge-0/0/0.800; switch-options { no-mac-learning; } } root@CE1-PE1# show interfaces ge-0/0/11 flexible-vlan-tagging; encapsulation extended-vlan-bridge; unit 800 { description PE_Interface; vlan-id-list 1-25; input-vlan-map push; output-vlan-map pop; }
root@CE1-PE1# show interfaces ge-0/0/0 flexible-vlan-tagging; encapsulation extended-vlan-bridge; unit 800 { description SP_Interface; vlan-id 800; }
CUST SIDE 2 Using Normal QinQ Configuration
Configure PE2 as a regular PE
root@PE2# show vlans SP800 { interface ge-0/0/0.800; interface ge-0/0/1.800; } root@PE2# show interfaces ge-0/0/0 flexible-vlan-tagging; encapsulation extended-vlan-bridge; unit 800 { description SP_Interface; vlan-id 800; } root@PE2# show interfaces ge-0/0/1 flexible-vlan-tagging; encapsulation extended-vlan-bridge; unit 800 { description PE_Interface; vlan-id-list 1-25; input-vlan-map push; output-vlan-map pop; }
Configure CE2 as a regular CE
root@CE2# show vlans vlan1 { vlan-id 1; } vlan10 { vlan-id 10; } vlan25 { vlan-id 25; l3-interface irb.25; } root@CE2# show interfaces ge-0/0/1 unit 0 { description CE_Interface; family ethernet-switching { interface-mode trunk; vlan { members [ 1 10 25 ]; } } } root@CE2# show interfaces irb.25 family inet { address 25.25.25.2/24; }
Test ping from CE2 to CE1-PE1
root@CE2> ping 25.25.25.1PING 25.25.25.1 (25.25.25.1): 56 data bytes64 bytes from 25.25.25.1: icmp_seq=0 ttl=64 time=4.325 ms64 bytes from 25.25.25.1: icmp_seq=1 ttl=64 time=3.075 ms--- 25.25.25.1 ping statistics ---2 packets transmitted, 2 packets received, 0% packet lossround-trip min/avg/max/stddev = 3.075/3.700/4.325/0.625 ms
NOTE:
-On following platforms: EX2300, EX3400, EX4100, EX4400, EX4300-MP, EX4600, QFX5100 & QFX5120-48YM
-After upgrading to following Junos versions and subsequent: 20.3R2, 20.3R3, 20.3X75-D20, 20.4R2, 21.1R1, 21.2R1
-Traffic forwarding will be impacted, following configuration knob is required:
set forwarding-options port-mac-in-tcam
https://prsearch.juniper.net/problemreport/PR1724675