 of desired capabilities. Label distribution protocols such as MPLS or Resource Reservation Protocol (RSVP) will be allowed to run on the line card. IPv4 and IPv6 will obviously be running on the line cards SO the NPUs can handle classification and forwarding at wire speed. The routing tables will also be loaded into local memory residing each line card; however, the routing table will be calculated centrally on the host CPU card. This done because the centralized execution of the Dijkstra7 algorithm, for example, or the policy aspects of protocols such as BGP, especially for a large network, will need to run on the host CPU card (here at slot 1). From this card, an updated copy will be periodically downloaded to the line cards for local use by the NPUs. These thoughts are crossing the designer's mind for a reason; they will soon guide him or her toward deciding the computational horsepower that must be made available on each and every card. The designer will then need to budget instructions per second and memory requirements to avoid any surprises. For the moment, however, he or she is just working through the problem. A major concern is how to handle exceptions. For example, if a bizarre application such as mas- sive and pervasive virus scanning is imposed onto the designer, the designer has two choices. Through its classification capabilities, the NPU will detect something unusual on the packet it processes. It will either flag that to the line card's control CPU for processing, which will realize that it has to be for- warded to the system CPU for the virus scanning, or (preferably) it will directly forward such a packet to the host CPU where the virus-scanning code is executed. The downside of this approach is that the designer does not know how often the system CPU will be interrupted by such requests. If it is not virus scanning and say for instance that a denial of service attack is detected instead, the designer cannot afford to bring down the entire MSR with such a potential outburst of internal traffic