The forwarding plane of the router performs best when all packets are switched in the hardware. However, there will be instances where some packets have to be forwarded but additional treatment applied to them. As an example, if an IP packet is received with IP options such as source routing, these packets would have to be punted to the CPU and cannot be forwarded by the normal forwarding process. These packets would considerably slow down forwarding as packets would have to forward through software lookups and the hardware based high-speed forwarding advantage is lost. Therefore, it is a good practice to limit the packets that need to be routed to the CPU. Some of the techniques for this are discussed next.