Index: if_ethersubr.c =================================================================== RCS file: /cvs/src/sys/net/if_ethersubr.c,v retrieving revision 1.246 diff -u -p -r1.246 if_ethersubr.c --- if_ethersubr.c 31 May 2017 05:59:09 -0000 1.246 +++ if_ethersubr.c 3 Jan 2018 03:16:05 -0000 @@ -312,8 +312,6 @@ ether_input(struct ifnet *ifp, struct mb struct ether_header *eh; struct niqueue *inq; u_int16_t etype; - int llcfound = 0; - struct llc *l; struct arpcom *ac; #if NPPPOE > 0 struct ether_header *eh_tmp; @@ -371,7 +369,6 @@ ether_input(struct ifnet *ifp, struct mb etype = ntohs(eh->ether_type); -decapsulate: switch (etype) { case ETHERTYPE_IP: ipv4_input(ifp, m); @@ -436,29 +433,7 @@ decapsulate: return (1); #endif default: - if (llcfound || etype > ETHERMTU || - m->m_len < sizeof(struct llc)) - goto dropanyway; - llcfound = 1; - l = mtod(m, struct llc *); - switch (l->llc_dsap) { - case LLC_SNAP_LSAP: - if (l->llc_control == LLC_UI && - l->llc_dsap == LLC_SNAP_LSAP && - l->llc_ssap == LLC_SNAP_LSAP) { - /* SNAP */ - if (m->m_pkthdr.len > etype) - m_adj(m, etype - m->m_pkthdr.len); - m_adj(m, 6); - M_PREPEND(m, sizeof(*eh), M_DONTWAIT); - if (m == NULL) - return (1); - *mtod(m, struct ether_header *) = *eh; - goto decapsulate; - } - default: - goto dropanyway; - } + goto dropanyway; } niq_enqueue(inq, m);