1. A method for building a classification tree structure adapted to enable single pass classification of a received packet according to a plurality of rules, each rule having associated with it a plurality of fields, each field having associated with it a priority level, the method comprising: for a top priority level, performing the steps of: creating a node for each unique value within fields of the top priority level; identifying, for each of the nodes within the top priority level, a respective set of one or more rules matching the corresponding node value; selecting from the created nodes a head node; creating logical decision paths from the head node to the other nodes within the top priority level; creating logical decision paths from nodes within the top priority level to a next lower priority level; and for each of any remaining priority levels, performing the steps of: creating, for each of the logical decision paths received from a next higher priority level, a respective sub-tree including only those nodes and related logical decision paths necessary to satisfy rules associated with a respective next higher priority level node; creating, for each non-lowest priority level, logical decision paths from nodes within the current priority level to a next lower priority level.