Author: yongari
Date: Fri Nov  4 21:42:13 2011
New Revision: 227094
URL: http://svn.freebsd.org/changeset/base/227094

Log:
  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.

Modified:
  head/sys/dev/ti/if_ti.c

Modified: head/sys/dev/ti/if_ti.c
==============================================================================
--- head/sys/dev/ti/if_ti.c     Fri Nov  4 21:30:46 2011        (r227093)
+++ head/sys/dev/ti/if_ti.c     Fri Nov  4 21:42:13 2011        (r227094)
@@ -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 mbu
                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;
                }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to