EVL_APPLY_VLID macro removes the flag Canonical Format Indicator (CFI) and the Priority Code Point (PCP) instead of removing VLAN Identifier (VID). The new VID is superimposed on the old one. (m) -> m_pkthdr.ether_vtag & = EVL_VLID_MASK; \ (m) -> m_pkthdr.ether_vtag | = (vlid); \ The correct version: (m) -> m_pkthdr.ether_vtag & = ~ EVL_VLID_MASK; \ (m) -> m_pkthdr.ether_vtag | = ((vlid) & EVL_VLID_MASK); \ Fix: apply patch Patch attached with submission follows:
- (m)->m_pkthdr.ether_vtag |= (((pri) & 7) << 1); \ + (m)->m_pkthdr.ether_vtag |= (((pri) & 7) << 13); \
Responsible Changed From-To: freebsd-bugs->freebsd-net Over to maintainer(s).