Just get a new EX4300 switch, which used new Junos version and it is quite different from precious EX switches. My task is to configure Q-in-Q tunneling with existed switch EX3300, surely that I met some problems, but finally fixed it.
Here I want to share the experience on configuring Q-in-Q tunneling between EX4300 and EX3300, for people who may meet the same question as me:
Configuration of EX3300,
set interfaces ge-0/0/13 unit 0 family ethernet-switching port-mode access set interfaces ge-0/0/13 unit 0 family ethernet-switching vlan members vl1004
Service provider port:
set interfaces xe-0/1/2 unit 0 family ethernet-switching port-mode trunk set interfaces xe-0/1/2 unit 0 family ethernet-switching vlan members vl1004
q-in-q vlan configuration:
set vlans vl1004 vlan-id 1004 set vlans vl1004 dot1q-tunneling customer-vlans 1-100
q-in-q ether option:
set ethernet-switching-options dot1q-tunneling ether-type 0x8100
# I have taken lots of time on this configurarion since once I finished configuration at first time the tunnel was not wokring, trouble-shooting takes time, after checking all parameters , no obvious problem, so I just tried to change the ether-type from 0x9100 to 0x8100 then it works.
#Can you explain to me why I have to specify ether-type to 0x8100? Does EX4300 only support this ether-type 0x8100? I did not get any offical material from Juniper Website.
Cofniguration of EX4300:
set interfaces ge-0/0/0 flexible-vlan-tagging set interfaces ge-0/0/0 encapsulation extended-vlan-bridge set interfaces ge-0/0/0 unit 1004 vlan-id-list 1-100 set interfaces ge-0/0/0 unit 1004 input-vlan-map push set interfaces ge-0/0/0 unit 1004 output-vlan-map pop
Service Provider Port
set interfaces xe-0/2/2 flexible-vlan-tagging set interfaces xe-0/2/2 encapsulation extended-vlan-bridge set interfaces xe-0/2/2 unit 1004 vlan-id 1004
When you enable dot1q tunneling, the inner ether-type VLAN tag (C-TAG) uses the TPID (Tag Protocol Identifier) value of 0x8100 while the outer ether-type VLAN tag (S-VLAN) uses the TPID value of 0x88A8. By default, a standard trunk interface understands the 0x8100 format and will not understand how to process a VLAN tag with the TPID value of 0x88A8. Because of this behavior, you must either enable dot1q tunneling on all trunk interfaces that will be passing the S-VLAN tag or you can set the dot1q tunneling VLAN tags to use the TPID value of 0x8100 by manually defining the dot1q tunneling ether-type value under the [edit ethernet-switching-options] set dot1q-tunneling ether-type 0x8100
(I think 0x9100 is a 802.1 QinQ [nonstandard] protocol.) I have asked Juniper why do we still see it. i am awaiting an answer. For almost a year now.
[KUDOS PLEASE! If you think I earned it! If this solution worked for you please flag my post as an "Accepted Solution" so others can benefit..]