tly of the actual flow of packets. Some examples of slow-path operations are unknown address resolutions, new route calculations, updates of routing and forwarding tables. Figure 2.1 serves more to clarify the structural context of the network-processing-based computing than to be a precise and rigid template of the sequence of events. For example, an external security co-processor is sometimes used to encrypt and authenticate packets. In that case, it may be advanta- geous in some applications to reverse the order of some operations and perform the modification func- tion after the queuing function in the foreseen pipeline of events. This would allow some packets to be marked differently based on the congestion level that they encountered during queuing. It also facil- itates a higher-performance multicast implementation where multicast packets/cells only need to be buffered once while being able to be read out multiple times, modifying each copy after it is retrieved from the packet buffer. This example reiterates why Figure 2.1 should be seen more as a generic rep- resentation of network computing and less as a necessarily fixed topology. Host Processing The term host processing refers to a number of generic processing tasks that do not reside on the flow path of the network packets. As a result, they are usually allocated to some central processing (CPU) that does not handle packets directly. Host-processing chores include implementing network management routines, configuring devices, running diagnostics, and managing internal communica- tions between functional modules or subsystems of the network device. Host processing is usually implemented in software that runs on standard off-the-shelf RISC CPU processor chips such as IBM's PowerPC and various MIPS CPUs. In a few cases, network equipment manufacturers have chosen to implement their products' host processing on more common CISC processors, such as an Intel Pentium processor. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineerin