891293f
diff -up dhcp-4.3.1/common/lpf.c.vlan dhcp-4.3.1/common/lpf.c
891293f
--- dhcp-4.3.1/common/lpf.c.vlan	2014-10-08 19:06:17.963118201 +0200
891293f
+++ dhcp-4.3.1/common/lpf.c	2014-10-08 19:07:17.086276536 +0200
891293f
@@ -543,6 +543,12 @@ ssize_t receive_packet (interface, buf,
891293f
 		if (cmsg->cmsg_level == SOL_PACKET &&
891293f
 		    cmsg->cmsg_type == PACKET_AUXDATA) {
891293f
 			struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg);
891293f
+			/* if listening on plain interface we can see vlan traffic as well.
891293f
+			   skip vlan traffic if tagged. If we are listening on vlan interfaces
891293f
+			   as well we will see the traffic again but without the tag
891293f
+			*/
891293f
+			if (aux->tp_vlan_tci != 0)
891293f
+			    return 0;
891293f
 			nocsum = aux->tp_status & TP_STATUS_CSUMNOTREADY;
891293f
 		}
891293f
 	}