Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Feb 2012 18:20:07 GMT
From:      rozhuk.im@gmail.com
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/165296: Fix EVL_APPLY_VLID, update EVL_APPLY_PRI macro
Message-ID:  <201202191820.q1JIK7Ej094416@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

The following reply was made to PR kern/165296; it has been noted by GNATS.

From: rozhuk.im@gmail.com
To: <bug-followup@FreeBSD.org>,
	<rozhuk.im@gmail.com>
Cc:  
Subject: Re: kern/165296: Fix EVL_APPLY_VLID, update EVL_APPLY_PRI macro
Date: Mon, 20 Feb 2012 03:16:00 +0900

 This is a multi-part message in MIME format.
 
 ------=_NextPart_000_0046_01CCEF7D.FB03C320
 Content-Type: text/plain;
 	charset="US-ASCII"
 Content-Transfer-Encoding: 7bit
 
 -             (m)->m_pkthdr.ether_vtag |= (((pri) & 7) << 1);            \
 +             (m)->m_pkthdr.ether_vtag |= (((pri) & 7) << 13);           \
 
 ------=_NextPart_000_0046_01CCEF7D.FB03C320
 Content-Type: application/octet-stream;
 	name="if_vlan_var.h.patch"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment;
 	filename="if_vlan_var.h.patch"
 
 --- ./if_vlan_var.h.orig	2011-09-23 09:51:37.000000000 +0900=0A=
 +++ ./if_vlan_var.h	2012-02-20 03:11:20.000000000 +0900=0A=
 @@ -52,27 +52,24 @@=0A=
  #define EVL_APPLY_VLID(m, vlid)						\=0A=
  	do {								\=0A=
  		if ((m)->m_flags & M_VLANTAG) {				\=0A=
 -			(m)->m_pkthdr.ether_vtag &=3D EVL_VLID_MASK;	\=0A=
 -			(m)->m_pkthdr.ether_vtag |=3D (vlid);		\=0A=
 +			(m)->m_pkthdr.ether_vtag &=3D ~EVL_VLID_MASK;	\=0A=
  		} else {						\=0A=
 -			(m)->m_pkthdr.ether_vtag =3D (vlid);		\=0A=
 +			(m)->m_pkthdr.ether_vtag =3D 0;			\=0A=
  			(m)->m_flags |=3D M_VLANTAG;			\=0A=
  		}							\=0A=
 +		(m)->m_pkthdr.ether_vtag |=3D ((vlid) & EVL_VLID_MASK);	\=0A=
  	} while (0)=0A=
  =0A=
  /* Set the priority ID in an mbuf packet header non-destructively. */=0A=
  #define EVL_APPLY_PRI(m, pri)						\=0A=
  	do {								\=0A=
  		if ((m)->m_flags & M_VLANTAG) {				\=0A=
 -			uint16_t __vlantag =3D (m)->m_pkthdr.ether_vtag;	\=0A=
 -			(m)->m_pkthdr.ether_vtag |=3D EVL_MAKETAG(	\=0A=
 -			    EVL_VLANOFTAG(__vlantag), (pri),		\=0A=
 -			    EVL_CFIOFTAG(__vlantag));			\=0A=
 +			(m)->m_pkthdr.ether_vtag &=3D ~EVL_PRI_MASK;	\=0A=
  		} else {						\=0A=
 -			(m)->m_pkthdr.ether_vtag =3D			\=0A=
 -			    EVL_MAKETAG(0, (pri), 0);			\=0A=
 +			(m)->m_pkthdr.ether_vtag =3D 0;			\=0A=
  			(m)->m_flags |=3D M_VLANTAG;			\=0A=
  		}							\=0A=
 +		(m)->m_pkthdr.ether_vtag |=3D (((pri) & 7) << 13);	\=0A=
  	} while (0)=0A=
  =0A=
  /* sysctl(3) tags, for compatibility purposes */=0A=
 
 ------=_NextPart_000_0046_01CCEF7D.FB03C320--
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202191820.q1JIK7Ej094416>