OK, explain this: 4.7 BSD: /sys/dev/wi/if_wi.c ... Lucent/prism2 802.11b device driver: loadable modules (device drivers) are now placed in /sys/dev stored in /modules, and can be loaded with kldload at boot. This one is lucent/orinoco/prism2 802.11 device driver. # kldload if_wi.ko (if necessary) # kldstat Can also be statically linked into kernel. --------------------------------------------------------- wi_rxeof(sc) ... /* first allocate mbuf for packet storage */ MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) { ifp->if_ierrors++; return; } MCLGET(m, M_DONTWAIT); if (!(m->m_flags & M_EXT)) { m_freem(m); ifp->if_ierrors++; return; } m->m_pkthdr.rcvif = ifp; /* now read wi_frame first so we know how much data to read */ if (wi_read_data(sc, id, 0, mtod(m, caddr_t), sizeof(struct wi_frame))) { m_freem(m); ifp->if_ierrors++; return; } ...