05-03-2015 дата публикации
Номер: US20150067836A1
Принадлежит:
Cavium, Inc.
In one embodiment, a method of walking an non-deterministic finite automata (NFA) graph representing a pattern includes extracting a node type and an element from a node of the NFA graph. The method further includes matching a segment of a payload for the element by matching the payload for the element at least zero times, the number of times based on the node type. 1. A method of walking a non-deterministic finite automata (NFA) graph representing a pattern , the method comprising:extracting a node type, a next node address, and an element from a node of the NFA graph; andmatching a segment of a payload with the element by matching the payload with the element at least zero times, the number of times based on the node type.2. The method of claim 1 , wherein the node type is at least one of a variable count claim 1 , fixed count claim 1 , fixed-variable count claim 1 , character claim 1 , case insensitive character claim 1 , character class claim 1 , case sensitive string claim 1 , case insensitive string claim 1 , marked claim 1 , split.3. The method of claim 1 , further comprising pushing an entry to a run stack claim 1 , the entry indicating at least one of the node type claim 1 , an address of a next node in the graph claim 1 , a payload offset claim 1 , a count value claim 1 , a duplicate bit claim 1 , a reverse bit.4. The method of claim 3 , wherein pushing the entry to the run stack is based on the node type.5. The method of claim 4 , wherein pushing the entry to the run stack is performed if the node type is variable count claim 4 , fixed-variable count claim 4 , or split.6. The method of claim 1 , further comprising:popping a top entry of a run stack;loading a graph node indicated by the popped top entry; andmatching the segment of the payload with the element, the element indicated in the loaded graph node, at a payload offset indicated in the popped top entry.7. The method of claim 6 , wherein popping the top entry of the run stack is performed after a ...
Подробнее