Index: if_bridge.c =================================================================== RCS file: /cvs/src/sys/net/if_bridge.c,v retrieving revision 1.277 diff -u -p -r1.277 if_bridge.c --- if_bridge.c 30 Mar 2016 12:16:30 -0000 1.277 +++ if_bridge.c 20 Apr 2016 07:31:39 -0000 @@ -221,9 +221,6 @@ bridge_clone_destroy(struct ifnet *ifp) bstp_destroy(sc->sc_stp); - /* Undo pseudo-driver changes. */ - if_deactivate(ifp); - if_ih_remove(ifp, ether_input, NULL); KASSERT(SRPL_EMPTY_LOCKED(&ifp->if_inputs)); @@ -1056,6 +1053,14 @@ bridge_process(struct ifnet *ifp, struct #if NBPFILTER > 0 if (sc->sc_if.if_bpf) bpf_mtap_ether(sc->sc_if.if_bpf, m, BPF_DIRECTION_IN); +#endif + +#if NVLAN > 0 + if (m->m_flags & M_VLANTAG) { + m = vlan_inject(m, ETHERTYPE_VLAN, m->m_pkthdr.ether_vtag); + if (m == NULL) + return; + } #endif bridge_span(sc, m);