summaryrefslogtreecommitdiff
path: root/common/lpf.c
diff options
context:
space:
mode:
authorThomas Markwalder <tmark@isc.org>2015-09-23 09:37:51 -0400
committerThomas Markwalder <tmark@isc.org>2015-09-23 09:37:51 -0400
commitf10cbbface262ba51394b2c8ccf402addf7bd6b1 (patch)
tree8997b9ba538c0c70a10518af292c3d6f6b99f3bd /common/lpf.c
parent7a6187a84d132e3e221e52e13072420447af6492 (diff)
downloadisc-dhcp-f10cbbface262ba51394b2c8ccf402addf7bd6b1.tar.gz
[master] LPF now only uses 12-bit value from VLAN TCI for VID
Merges in rt40591.
Diffstat (limited to 'common/lpf.c')
-rw-r--r--common/lpf.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/common/lpf.c b/common/lpf.c
index 7889b6bb..ee3820b6 100644
--- a/common/lpf.c
+++ b/common/lpf.c
@@ -422,10 +422,10 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
if (cmsg->cmsg_level == SOL_PACKET &&
cmsg->cmsg_type == PACKET_AUXDATA) {
struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg);
- /* Discard packets with stripped vlan id */
-
#ifdef VLAN_TCI_PRESENT
- if (aux->tp_vlan_tci != 0)
+ /* Discard packets with stripped vlan id */
+ /* VLAN ID is only bottom 12-bits of TCI */
+ if (aux->tp_vlan_tci & 0x0fff)
return 0;
#endif