Packet
classification is a fundamental and critical operation to be performed in
networking equipment such as switches and routers. The types of classification
to be performed encompass a wide range, from well-understood operations such as
route table lookups to complex packet identification involving multiple fields
in the packet. Furthermore, the advent of application-aware network devices
demands the use of flexible packet classifiers that can handle operations such
as pattern searches and regular expression matching. Traditionally, depending
on the classification types to be implemented, solutions based on CAMs/TCAMs,
special function ASICs, and software-based algorithms have been used. These
solutions, while adequate, target specific classification applications. This
article describes ClassiPITM, a programmable hardware architecture that
performs packet classification at OC48c line rates. Illustrations and examples
show how this architecture can be used in conjunction with software algorithmic
techniques to support the classification needs of a variety of applications
from packet switching, forwarding, and filtering to layer 7 applications such
as server load balancing. We believe that the ClassiPI architecture is scalable
and flexible to meet the needs of a broad class of network applications.