with ATM cells). These cells facilitate their transition from the input to the output of the fabric and are reassembled as packets at the output of the switch fabric. We will look at the context of these fun- damental categories of hardware later and will also dive deep into the heart of the actual switching/routing device-the switch fabric itself, which we discuss in Chapter 14. Traffic Management and Other Operations When the packet is ready to be transmitted to the subsequent stage in the chain of processing, sched- uling needs to be applied to it. Two types of scheduling must be performed: scheduling before the packet is handed over to the switch fabric and scheduling when the switched fabric is launched on the output port. This falls more generically under the category of traffic management, which takes care of handling queues and flows based on the various classes of service (CoSs), generating the appro- priate billing information and ensuring that traffic abides by the applicable service level agreements (SLAs) and levels of QoS. Traffic management is the major category of functionality where the problem of traffic congestion is handled along with traffic shaping in environments such as the one that the latest trend for DiffServ requires. Traffic management includes queuing, buffer management (including the application of sophisticated algorithms such as Weighted Random Early Detection [WRED], RIO, Early Packet Discard [EPD]/PPD, which we discuss later, and ideally with multiple buffer pools for better traffic isolation), and scheduling/shaping. Shaping is this context refers to effective non-work-conserving scheduling. Interestingly, bandwidth can be guaranteed even with a simple first-in first-out (FIFO) scheduling by carefully managing the buffer space that each flow is allowed to occupy (although it is certainly preferable to also use a differential scheduling treatment as part of the overall QoS toolkit). We discuss these issues in greater length in Chapter 14, "Switch Fabrics," and Chapter 15. Such a