aboutsummaryrefslogtreecommitdiff
path: root/gencode.c
diff options
context:
space:
mode:
authorMichal Kubecek <mkubecek@suse.cz>2015-08-19 15:08:06 +0200
committerMichal Kubecek <mkubecek@suse.cz>2015-08-19 15:08:06 +0200
commitcb21bc35f7cac6bc9e833510e48e9533cc4d0845 (patch)
tree2c9e52531c30afd7b60dcd3e1e7384d8d42a1df0 /gencode.c
parent518850cd8e49cebb4809818a7343e08ae7309d71 (diff)
Recognize 802.1ad nested VLAN tag in vlan filter.
In addition to ETHERTYPE_8021Q (0x8100) and ETHERTYPE_8021QINQ (0x9100), recognize also ETHERTYPE_8021AD (0x88a8) as a VLAN tag. This is defined as S-Tag (Service tag) by 802.1ad.
Diffstat (limited to 'gencode.c')
-rw-r--r--gencode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gencode.c b/gencode.c
index 33bcb484..552c40a1 100644
--- a/gencode.c
+++ b/gencode.c
@@ -7915,6 +7915,9 @@ gen_vlan_no_bpf_extensions(int vlan_num)
/* check for VLAN, including QinQ */
b0 = gen_linktype(ETHERTYPE_8021Q);
+ b1 = gen_linktype(ETHERTYPE_8021AD);
+ gen_or(b0,b1);
+ b0 = b1;
b1 = gen_linktype(ETHERTYPE_8021QINQ);
gen_or(b0,b1);
b0 = b1;