QinQ with Cisco Catalyst switches
QinQ with Cisco Catalyst switches
Below a simple topology using QinQ tagging (officially known as IEEE 802.1ad or unofficially IEEE 802.1 QinQ )
 on Cisco Catalyst C3550 switches.
C-VLANS 10 and 20 come from customer side and are encapsulated in the S-VLAN 1800.
This feature is also called VLAN double tagging or Vlan stacking, or Nested VLANs (Allied Telesis) or vMAN
This feature is also called VLAN double tagging or Vlan stacking, or Nested VLANs (Allied Telesis) or vMAN
 technology ( Extreme Networks).
To simulate the two end clients, I use two Linux computers that allows easy creation of VLANs on ethernet ports.
Network configuration on Linux computers
LINUX PC1
  $ sudo vconfig add eth5 1800   
  Added VLAN with VID == 1800 to IF -:eth5:- 
  
  $ sudo vconfig add eth5.1800 10   
  Added VLAN with VID == 10 to IF -:eth5.1800:-   
  $ sudo vconfig add eth5.1800 20   
  Added VLAN with VID == 20 to IF -:eth5.1800:-   
  $ sudo ip addr add 10.10.10.1/24 dev eth5.1800.10   
  $ sudo ip addr add 20.20.20.1/24 dev eth5.1800.20   
 
$ ip addr  
 14: eth5.1800@eth5: <broadcast> mtu 1500 qdisc noqueue state UP   
 link/ether 00:e0:4c:36:00:0a brd ff:ff:ff:ff:ff:ff  
 inet6 fe80::2e0:4cff:fe36:a/64 scope link   
 valid_lft forever preferred_lft forever  
 15: eth5.1800.10@eth5.1800: <broadcast> mtu 1500 qdisc noqueue state UP   
 link/ether 00:e0:4c:36:00:0a brd ff:ff:ff:ff:ff:ff  
 inet 10.10.10.1/24 scope global eth5.1800.10  
 valid_lft forever preferred_lft forever  
 inet6 fe80::2e0:4cff:fe36:a/64 scope link   
 valid_lft forever preferred_lft forever  
 16: eth5.1800.20@eth5.1800: <broadcast> mtu 1500 qdisc noqueue state UP   
 link/ether 00:e0:4c:36:00:0a brd ff:ff:ff:ff:ff:ff  
 inet 20.20.20.1/24 scope global eth5.1800.20  
 valid_lft forever preferred_lft forever  
 inet6 fe80::2e0:4cff:fe36:a/64 scope link   
 valid_lft forever preferred_lft forever  
LINUX PC2
 $ sudo vconfig add eth4 1800   
  Added VLAN with VID == 1800 to IF -:eth4:-   
  $ sudo vconfig add eth4.1800 10   
  Added VLAN with VID == 10 to IF -:eth4.1800:-   
  $ sudo vconfig add eth4.1800 20   
  Added VLAN with VID == 20 to IF -:eth4.1800:-   
  $ sudo ip addr add 10.10.10.2/24 dev eth4.1800.10   
  $ sudo ip addr add 20.20.20.2/24 dev eth4.1800.20   
$ ip addr   8: eth4.1800@eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP   
   link/ether 00:10:a3:09:e6:bb brd ff:ff:ff:ff:ff:ff  
   inet6 fe80::210:a3ff:fe09:e6bb/64 scope link   
     valid_lft forever preferred_lft forever  
 9: eth4.1800.10@eth4.1800: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP   
   link/ether 00:10:a3:09:e6:bb brd ff:ff:ff:ff:ff:ff  
   inet 10.10.10.2/30 scope global eth4.1800.10  
   inet6 fe80::210:a3ff:fe09:e6bb/64 scope link   
     valid_lft forever preferred_lft forever  
 10: eth4.1800.20@eth4.1800: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP   
   link/ether 00:10:a3:09:e6:bb brd ff:ff:ff:ff:ff:ff  
   inet 20.20.20.2/30 scope global eth4.1800.20  
   inet6 fe80::210:a3ff:fe09:e6bb/64 scope link   
     valid_lft forever preferred_lft forever  
Cisco Catalyst switches configuration
SW1
#show system mtu 
System MTU size is 1546 bytes
interface FastEthernet0/2  
  description --dot1q-tunnel_SW1--  
  switchport access vlan 1800  
  switchport mode dot1q-tunnel  
  no ip address  
  l2protocol-tunnel cdp  
  l2protocol-tunnel stp  
  l2protocol-tunnel vtp  
  no cdp enable  
  spanning-tree bpdufilter enable  
 end  
 interface FastEthernet0/19  
  description --To SW2 Fa0/19--  
  switchport trunk encapsulation dot1q  
  switchport mode trunk  
 end  
SW2
#show system mtu 
System MTU size is 1546 bytes
interface FastEthernet0/2  
  description --dot1q-tunnel_SW2--  
  switchport access vlan 1800  
  switchport mode dot1q-tunnel  
  no ip address  
  l2protocol-tunnel cdp  
  l2protocol-tunnel stp  
  l2protocol-tunnel vtp  
  no cdp enable  
  spanning-tree bpdufilter enable  
 end  
 interface FastEthernet0/19  
  description --To SW1 Fa0/19--  
  switchport trunk encapsulation dot1q  
  switchport mode trunk  
 end  
Verifying
a) From Linux computer
On the linux computers I'm using tcpdump to capture the packets on interface eth5 ( Linux PC 1) . In the packets we see that it contains the S-VLAN 1800 and C-VLANs 10 and 20. 
 $ sudo tcpdump -i eth5 -ne vlan -c 10  
 23:10:43.282757 00:10:a3:09:e6:bb > 00:e0:4c:36:00:0a, ethertype 802.1Q (0x8100), length 1450: vlan 1800, p 0, ethertype 802.1Q, vlan 20, p 0, ethertype IPv4, 20.20.20.2 > 20.20.20.1: ICMP echo request, id 8509, seq 524, length 1408  
 23:10:43.284015 00:e0:4c:36:00:0a > 00:10:a3:09:e6:bb, ethertype 802.1Q (0x8100), length 1450: vlan 1800, p 0, ethertype 802.1Q, vlan 20, p 0, ethertype IPv4, 20.20.20.1 > 20.20.20.2: ICMP echo reply, id 8509, seq 524, length 1408  
 23:10:43.323901 00:e0:4c:36:00:0a > 00:10:a3:09:e6:bb, ethertype 802.1Q (0x8100), length 1350: vlan 1800, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.10.10.1 > 10.10.10.2: ICMP echo request, id 5068, seq 196, length 1308  
 23:10:43.324633 00:10:a3:09:e6:bb > 00:e0:4c:36:00:0a, ethertype 802.1Q (0x8100), length 1350: vlan 1800, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.10.10.2 > 10.10.10.1: ICMP echo reply, id 5068, seq 196, length 1308  
b) Configuring the Catalyst Switched Port Analyzer
Using the SPAN feature, we can mirror the traffic from the trunk port F0/19 to interface Fa0/3.
 SW2(config)#monitor session 1 source interface Fa0/19  
 SW2(config)#monitor session 1 destination interface Fa0/3 encapsulation dot1q  
 SW2#sh monitor session 1  
 Session 1  
 ---------  
 Type : Local Session  
 Source Ports :  
 Both : Fa0/19  
 Destination Ports : Fa0/3  
 Encapsulation : DOT1Q  
 Ingress : Disabled  
Can also use the following :
 SW2(config)#monitor session 1 source interface Fa0/19  
 SW2(config)#monitor session 1 filter vlan 1800  
 SW2(config)#monitor session 1 destination interface Fa0/3 encapsulation dot1q  
 SW2#show monitor session 1  
 Session 1  
 ---------  
 Type : Local Session  
 Source Ports :  
 Both : Fa0/19  
 Destination Ports : Fa0/3  
 Encapsulation : DOT1Q  
 Ingress : Disabled  
 Filter VLANs : 1800  
Using wireshark we capture the mirrored traffic on interface  Fa0/3.
Analyzing the packets we see both VLANs ( highlighted blue).




Comments