ICATION PROCESSORS 240 NETWORK PROCESSORS LOOKUP AND FORWARDING Figure 13.1 shows a typical example of a rudimentary classification system that implements a lookup and forwarding procedure. Originally, the implementation was based on flat lookup table copies that were kept in local memory on each line card. This scheme had obvious advantages since lookups did not saturate the main bus and did not interrupt the main central processing unit (CPU). Each card was responsible for the lookup operations it needed. This simple scheme is now a thing of the past. Routing tables are SO large that it is almost impossible and extremely expensive to have several copies in the same router. The most typical embodiment of a prefix-based address lookup algorithm, such as the longest- prefix match (LPM), seeks to obtain the longest prefix that best matches the search key. In this case, the search key is the packet destination address. The previous chapter offered some typical approaches for tackling this problem in the discussion on ternary content-addressable memories (TCAMs) and search engines. More information on the search part of this problem is available in the previous chap- ter. Here we will limit ourselves to the actual classification part of the problem. On one hand, IP routers and switches in need of evolving classification capabilities must look up the output port identification in forwarding or routing tables to which they must forward an incoming packet. To make the routing lookup and forwarding decision, the longest prefix that matches the packet's destination address must be obtained among the entries in the stored database (table) of routes. On the other hand, ATM and Multiprotocol Label Switching (MPLS) switches receive routing/switching-related information at the input upon arrival of a cell or packet that immediately correlates the port and the Virtual Connection Identifier (VCI) label). They directly proceed to the next step of the switching process. For example, with an MPLS switch, a previous router has alrea