Patent ID: 8179898

Claim:
A network-equipment-element-implemented method for processing data packets, the method comprising: (a) receiving, at the network-equipment element, a data packet; (b) determining, by the network-equipment element, at least one characteristic about the data packet; (c) accessing, by the network-equipment element, a braided trie stored in memory based on the at least one characteristic to determine a processing mode for the data packet; and (d) processing, by the network-equipment element, the data packet based on the determined processing mode, wherein: the braided trie comprises a plurality of nodes representing a combination of at least first and second tries; the plurality of nodes comprise a root node and one or more levels of child nodes; the root node has a pointer pointing to one or two child nodes at an adjacent lower level; each child node has zero, one, or two pointers pointing to zero, one, or two child nodes at an adjacent lower level; each pointer corresponds to either a “0” branch or a “1” branch in the braided trie; at least one node in the braided trie has a pointer pointing to a child node, wherein the pointer corresponds to a “0” branch for the first trie and to a “1” branch for the second trie; and for at least one trie represented by the braided trie, for each node having at least one pointer pointing to at least one child node at the adjacent lower level, the node comprises a corresponding braiding bit that identifies whether the at least one pointer corresponds to a straight mapping to the at least one child node or to a twisted mapping to the at least one child node.