I a question about snull (from Doug Winterburn) on this mailing list back in December. I just figured out how to make it work under 2.2 and I thought you might want to know. BTW, snull is a sample program in Rubini's device drivers book. The key thing is to set skb->pkt_type in snull_rx, before calling netif_rx: /* Write metadata, and then pass to the receive level */ skb->dev = dev; skb->protocol = eth_type_trans(skb, dev); skb->ip_summed = CHECKSUM_UNNECESSARY; // YOU MUST SET THIS! // This is the thing that makes it work under 2.2 skb->pkt_type = PACKET_HOST; There's a couple of other tweaks required to get it to compile but I assume you know about these since you did compile it.