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:
parent
148386d9aa
commit
9645f9eb0b
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user