X-Git-Url: https://git.tcpdump.org/libpcap/blobdiff_plain/93fea042b3fcedeb21fe517b25c41b3eaf0573b9..b107f954e64878ce569cce7c00bd3aa6297ca0c5:/gencode.c diff --git a/gencode.c b/gencode.c index a6acb405..7281d40f 100644 --- a/gencode.c +++ b/gencode.c @@ -8108,9 +8108,13 @@ gen_vlan(vlan_num) case DLT_EN10MB: case DLT_NETANALYZER: case DLT_NETANALYZER_TRANSPARENT: - /* check for VLAN */ + /* check for VLAN, including QinQ */ b0 = gen_cmp(OR_LINK, off_linktype, BPF_H, (bpf_int32)ETHERTYPE_8021Q); + b1 = gen_cmp(OR_LINK, off_linktype, BPF_H, + (bpf_int32)ETHERTYPE_8021QINQ); + gen_or(b0,b1); + b0 = b1; /* If a specific VLAN is requested, check VLAN id */ if (vlan_num >= 0) {