Link Layer - Input Driver RX interrupt routine dequeues a packet from the DMA ring Data passed to the link layer protocol e.g. ether_input() figures out the network protocol Put packet onto protocol input queue and schedule a softinterrupt netisr -- splnet() vs. splsoftnet() rest of network stack runs at lower priority