--- /dev/null
+Test for checking the working of vlan.id keyword.
+The packet is an ICMP packet with 3 different VLAN ids [200,300,400].
+
+PCAP created with scapy 2.5.0.
+
+redmine ticket: https://redmine.openinfosecfoundation.org/issues/1065
\ No newline at end of file
--- /dev/null
+alert ip any any -> any any (msg:"Vlan ID is equal to 200 with specific layer"; vlan.id:200,0; sid:1;)
+alert ip any any -> any any (msg:"One Vlan ID is equal to 300"; vlan.id:300; sid:2;)
+alert ip any any -> any any (msg:"Last Vlan ID is equal to 400"; vlan.id:400,-1; sid:3;)
+alert ip any any -> any any (msg:"Vlan ID is equal to 300 with specific layer"; vlan.id:0x12C,1; sid:4;)
+alert ip any any -> any any (msg:"Vlan ID at layer 1 is not equal to 200"; vlan.id:!200,1; sid:5;)
+alert ip any any -> any any (msg:"There is no VLAN ID equal to 500"; vlan.id:!500,all; sid:6;)
+alert ip any any -> any any (msg:"VLAN ID at layer 2 is between 100 and 600"; vlan.id:100-600,2; sid:7;)
+alert ip any any -> any any (msg:"VLAN ID at layer 1 is less than 400"; vlan.id:<400,1; sid:8;)
+alert ip any any -> any any (msg:"One Vlan ID is greater than or equal to 200"; vlan.id:>=0xC8; sid:9;)
+alert ip any any -> any any (msg:"All the Vlan IDs are greater than 100"; vlan.id:>100,all; sid:10;)
+alert ip any any -> any any (msg:"Vlan ID is equal to 200 - prefilter"; vlan.id:200,0; prefilter; sid:11;)
\ No newline at end of file
--- /dev/null
+#! /usr/bin/env python3
+#scapy version 2.5.0
+from scapy.all import *
+
+CLIENT_MAC = "11:11:11:11:11:11"
+SERVER_MAC = "22:22:22:22:22:22"
+
+CLIENT_IP = "1.1.1.1"
+SERVER_IP = "2.2.2.2"
+
+request = (Ether(src=CLIENT_MAC, dst=SERVER_MAC) /
+ Dot1Q(vlan=200) /
+ Dot1Q(vlan=300) /
+ Dot1Q(vlan=400) /
+ IP(src=CLIENT_IP, dst=SERVER_IP) /
+ ICMP(type=8))
+
+response = Ether(src=SERVER_MAC, dst=CLIENT_MAC)/IP(src=SERVER_IP, dst=CLIENT_IP)/ICMP(type=0)
+
+wrpcap("input.pcap", [request, response], append=False)
\ No newline at end of file