Link Layer - Output prepend link header (Ethernet header) or do special encapsulation (natm, ppp) can be a chain of virtual interfaces enqueues ready to send packet onto the interface queue altq - alternate queuing happens there needs splnet() ifp->if_start is called driver enqueues packet into TX DMA ring runs at splnet() like everything driver specific a TX interrupt or a similar event will free the sent packets