Mailbox registers for synchronizing header processing execution
First Claim
1. A packet header processing engine comprising:
- a first packet processing unit configured to generate first packet header information relating to a packet header;
a second packet processing unit implemented in parallel with the first packet processing unit and configured to generate second packet header information relating to the packet header; and
a first mailbox register through which the first packet processing and the second packet processing unit communicate.
1 Assignment
0 Petitions
Accused Products
Abstract
A packet header processing engine includes a level 2 (L2) header generation unit and a level 3 (L3) header generation unit. The L2 and L3 header generation units are implemented in parallel with one another. Mailbox registers allow the L2 and L3 header generation units to communicate with one another. The L2 header generation unit may write to a specified mailbox register only when a valid bit corresponding to the mailbox register indicates that the register does not contain valid data. After writing to the mailbox register, the L2 header generation unit changes the state of the valid bit. The L3 register then reads from the mailbox register and changes the state of the valid bit. A similar implementation of the mailbox registers allows data to flow from the L3 header generation unit to the L2 header generation unit.
-
Citations
28 Claims
-
1. A packet header processing engine comprising:
-
a first packet processing unit configured to generate first packet header information relating to a packet header; a second packet processing unit implemented in parallel with the first packet processing unit and configured to generate second packet header information relating to the packet header; and a first mailbox register through which the first packet processing and the second packet processing unit communicate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving packet header information for a packet; generating, via a first packet processing engine, first protocol information for the packet based on the received packet header information; generating, via a second packet processing engine, second protocol information for the packet based on the received packet header information; transmitting information from the first packet processing unit to the second packet processing unit through a first mailbox register; and transmitting information from the second packet processing unit to the first packet processing unit through a second mailbox register. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A network device for processing packets comprising:
-
a buffer configured to store the packets, including header data and payload data for the packets; a descriptor reader component coupled to the buffer, the descriptor reader component receiving the header data for the packets stored in the buffer and looking up descriptor information relating to the received packet header data; and a packet header processing component coupled to the descriptor reader component, the packet header processing component receiving the packet header data and the descriptor information from the descriptor reader component, the packet header processing component including an input memory configured to store incoming packet header data and descriptor information of a packet, a first packet processing unit configured to generate, based on the packet header data and the descriptor information of the packet stored in the input memory, first packet header data relating to a first packet header protocol, a second packet processing unit configured to generate, based on the packet header data and the descriptor information of the packet stored in the input memory, second packet header data relating to a second packet header protocol, a first mailbox register through which the first packet processing unit transmits information to the second packet processing unit, and a second mailbox register through which the second packet processing unit transmits information to the first packet processing unit. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification