1. A method of processing a data packet comprising: comparing the data packet with a list of regular expressions or rules stored in a content addressable memory (CAM) array to determine if the data packet matches any of the regular expressions or rules; upon detecting a match between the data packet and a regular expression or rule, switching the data packet to a server designated for processing data packets exhibiting the regular expression or rule.