diff options
author | yongari <yongari@FreeBSD.org> | 2011-11-04 21:42:13 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2011-11-04 21:42:13 +0000 |
commit | 70d11ac70ee55c05b570b79730c767b73130848e (patch) | |
tree | 524b615d834cd1ae91b531ab7d99145996a8c31a /sys/dev/ti | |
parent | 1aaf09e416ed786a3c7a0134dd2b010d4ddba19f (diff) | |
download | FreeBSD-src-70d11ac70ee55c05b570b79730c767b73130848e.zip FreeBSD-src-70d11ac70ee55c05b570b79730c767b73130848e.tar.gz |
Don't clear upper 4bits from VLAN tag information. It's
responsibility of vlan(4) to extract VLAN id from the tag
information and vlan(4) correctly handles it.
Diffstat (limited to 'sys/dev/ti')
-rw-r--r-- | sys/dev/ti/if_ti.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ti/if_ti.c b/sys/dev/ti/if_ti.c index 323563a..34b2f97 100644 --- a/sys/dev/ti/if_ti.c +++ b/sys/dev/ti/if_ti.c @@ -2659,7 +2659,7 @@ ti_rxeof(struct ti_softc *sc) if (cur_rx->ti_flags & TI_BDFLAG_VLAN_TAG) { have_tag = 1; - vlan_tag = cur_rx->ti_vlan_tag & 0xfff; + vlan_tag = cur_rx->ti_vlan_tag; } if (cur_rx->ti_flags & TI_BDFLAG_JUMBO_RING) { @@ -2954,7 +2954,7 @@ ti_encap(struct ti_softc *sc, struct mbuf **m_head) f->ti_flags = csum_flags; if (m->m_flags & M_VLANTAG) { f->ti_flags |= TI_BDFLAG_VLAN_TAG; - f->ti_vlan_tag = m->m_pkthdr.ether_vtag & 0xfff; + f->ti_vlan_tag = m->m_pkthdr.ether_vtag; } else { f->ti_vlan_tag = 0; } |