Network packet processing
AssigneeIntel Corporation
InventorDonald F. Hooper
Life of this patent
Estimating the term…
Abstract
The disclosure includes description of techniques for processing a network packet received at a network device. An example of the technique includes, in a first path, performing packet processing phases upon the network packet and storing state data for the phase phases. A second path can access the state data stored by the first path and determine a phase to perform next.
Claims28
A method of processing a network packets received at a network device, the method comprising:
- in a first packet processing path:
- performing at least one of a collection of packet processing phases upon a network packet, respective ones of the packet processing phases associated with respective packet processing phase identifiers;
- storing state data for the network packet, the state data including at least one of the respective packet processing phase identifiers;
- and
- in a second packet processing path:
- accessing the at least one of the respective packet processing phase identifiers stored in the state data for the network packet stored by the first path;
- and
- based on the accessed at least one of the respective packet processing phase identifiers stored in the state data, determining a phase in the collection of packet processing phases to perform next;
- wherein the packet processing phase identifiers accessed by the second packet processing path have different values for successive packets.
A computer readable medium, for processing a network packet received at a network device, the computer readable medium including, computer executable instructions for causing a computer to:
- access, at a second packet processing path, state data stored by a first packet processing path for the network packet, the state date for the network packet including a packet processing phase identifier identifying one of a collection of packet processing phases;
- and based on the accessed packet processing phase identifier stored in the state data for the network packet, determining a packet processing phase in the collection of packet processing phases to perform next for the network packet by the second packet processing path;
- wherein packet processing phase identifiers accessed by the second packet processing path have different values for successive network packets.
A system for processing a network packet received at a network device, the system comprising:
- at least one communication port;
- at least one Ethernet MAC (Medium Access Control) device coupled to at least one of the at least one communication ports;
- at least one processor;
- and
- instructions for causing at least one of the at least one processors to process a network packet received via a one of the at least one communication ports and a one of the at least one Ethernet MAC controllers, the instructions for causing the at least one processor to:
- in a first path:
- perform at least one of a collection of packet processing phases upon the network packet;
- store state data for the at least one of the collection of phases;
- and
- in a second path:
- access the state data stored by the first path;
- and
- based on the accessed state data, determine a phase in the collection of phases to perform next.
Dependencies are inferred from the claim text.