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.
This commit is contained in:
Pyun YongHyeon 2011-11-04 21:42:13 +00:00
parent 148386d9aa
commit 9645f9eb0b

View File

@ -2659,7 +2659,7 @@ ti_rxeof(struct ti_softc *sc)
if (cur_rx->ti_flags & TI_BDFLAG_VLAN_TAG) { if (cur_rx->ti_flags & TI_BDFLAG_VLAN_TAG) {
have_tag = 1; 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) { 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; f->ti_flags = csum_flags;
if (m->m_flags & M_VLANTAG) { if (m->m_flags & M_VLANTAG) {
f->ti_flags |= TI_BDFLAG_VLAN_TAG; 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 { } else {
f->ti_vlan_tag = 0; f->ti_vlan_tag = 0;
} }