1. A method for implementing a firewall in a network infrastructure component having a memory, the firewall comprising a plurality of rules, the method comprising: generating a search tree for the plurality of rules, the search tree being stored in the memory, the search tree comprising: a first node stored in a first region of a range of memory addresses, the first node having a first field bounds and a first set of rules of the plurality of rules; and a plurality of child nodes for the first node, each being stored in a respective region of the range of memory addresses, wherein each child node has child field bounds based on an intersection of the first field bounds and the first set of rules, and each child node is assigned a respective subset of the first set of rules based on the respective child field bounds; receiving a first packet by the network infrastructure component; identifying a first child node of the plurality of child nodes based on values for one or more fields of the first packet; and applying the respective subset of rules assigned to the first child node to the first packet.