Header processing engine
AssigneeSolarflare Communications, Inc.
InventorsSteven L. Pope, David Riddoch, Dimitri Kitariev, Derek Roberts
Life of this patent
Estimating the term…
Loading patent…
AssigneeSolarflare Communications, Inc.
InventorsSteven L. Pope, David Riddoch, Dimitri Kitariev, Derek Roberts
Estimating the term…
Roughly described, a header processing engine for a network interface device has a header recognizer to parse the headers of a data packet stored at a buffer to identify the type and position of each header in the packet; a constructor unit; and a processor including an execution pipeline. The header recognizer is configured to, for each header: select in dependence on the header type commands stored at a command memory; and form one or more messages for the constructor unit identifying the selected commands and the position of the header in the data packet. The commands selected for the packet headers are collectively such as to, if executed by the constructor unit, cause the constructor unit to generate a data structure which operates to cause the processor to process of the packet headers without accessing the data packet at the buffer.
A header processing engine for a network interface device having a buffer for holding one or more data packets each having one or more headers, the header processing engine comprising:
A header processing engine for performing header processing of a sequence of data packets each having multiple headers, the header processing engine comprising:
A header processing engine for performing header processing of a sequence of data packets stored at a buffer, each of the data packets having multiple headers and the header processing engine comprising:
A processor configured for processing network data packets and comprising:
A method for switching between execution threads at a processor configured for processing network data packets and having an execution pipeline, an instruction memory storing a plurality of instruction sequences, and a processor memory storing first and second instruction references and corresponding first and second sets of state of the processor, each instruction reference identifying an instruction sequence stored at the instruction memory and each instruction sequence and its corresponding state defining an execution thread for processing a particular network data packet, the method comprising:
Dependencies are inferred from the claim text.