Changeset View
Changeset View
Standalone View
Standalone View
sys/net/if_ethersubr.c
Show First 20 Lines • Show All 621 Lines • ▼ Show 20 Lines | if (ifp->if_type == IFT_IEEE8023ADLAG) { | ||||
} | } | ||||
} | } | ||||
/* | /* | ||||
* If the hardware did not process an 802.1Q tag, do this now, | * If the hardware did not process an 802.1Q tag, do this now, | ||||
* to allow 802.1P priority frames to be passed to the main input | * to allow 802.1P priority frames to be passed to the main input | ||||
* path correctly. | * path correctly. | ||||
*/ | */ | ||||
if ((m->m_flags & M_VLANTAG) == 0 && | if ((m->m_flags & M_VLANTAG) == 0 && etype == ETHERTYPE_VLAN) { | ||||
((etype == ETHERTYPE_VLAN) || (etype == ETHERTYPE_QINQ))) { | |||||
struct ether_vlan_header *evl; | struct ether_vlan_header *evl; | ||||
if (m->m_len < sizeof(*evl) && | if (m->m_len < sizeof(*evl) && | ||||
(m = m_pullup(m, sizeof(*evl))) == NULL) { | (m = m_pullup(m, sizeof(*evl))) == NULL) { | ||||
#ifdef DIAGNOSTIC | #ifdef DIAGNOSTIC | ||||
if_printf(ifp, "cannot pullup VLAN header\n"); | if_printf(ifp, "cannot pullup VLAN header\n"); | ||||
#endif | #endif | ||||
if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); | if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); | ||||
▲ Show 20 Lines • Show All 851 Lines • Show Last 20 Lines |