er in this chapter in a series of case studies. The paper "Fast IP Packet Classification with Configurable Processor," by H. Michael Ji and Michael Carchia,22 and the paper "Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table," by H. Michael Ji and Ranga Srinivasan,3 23 are two interesting works showing in great detail how to implement a classification engine on a configurable CPU by creating custom instructions and the associated modification in the processor data path. This is applicable to network processing contexts we discussed in Chapter 10. CLASSIFICATION PROCESSORS OR CAMS? The term classification is a broad concept that encompasses lookup tasks, which are handled by search or lookup engines. Lookup engines can be implemented either algorithmically or as CAMs. Therefore, a conceptual relationship exists between the two, as summarized in Figure 13.8. A lookup engine, especially one that must operate at layer 7 where long and complex strings must be searched and matched, will first need to parse the incoming packet to extract the bit fields, which in the simplest case become the search key. In more complicated cases, the search key will need to be calculated from the extracted bit fields. Based on the key, the lookup process is executed, which yields the search result. A simple lookup or search engine, such as the ones used at layers 2, 3, and 4 for route-related next-hop address lookups, is not capable of both parsing strings and looking up matches 22. H. Michael Ji and Michael Carchia, "Fast IP Packet Classification with Configurable Processor," IEEE Global Telecommunications Conference, Globecomm 2001, San Antonio, Texas, November 25-29, 2001. 23. H. Michael Ji and Ranga Srinivasan, "Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table," IEEE Global Telecommunications Conference, Globecomm 2001, San Antonio, Texas, November 25-29, 2001. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The 