1. A computer-implemented method for classifying received packets, comprising: receiving a packet; processing the received packet through a hardware-based packet classifier having at least one evolving rule to identify at least one cache miss packet; processing the cache miss packet through a software based packet classifier including an original rule set; and determining whether to expand at least one of the at least one evolving rules in the hardware-based packet classifier based on the cache miss packet, the determination including determining whether an evolving rule has both the same action and lies entirely within one of the rule of the original rule set.