Method and apparatus for hardware packets reassembly in constrained networks
First Claim
1. A hardware packets reassembly apparatus, comprising:
- an ingress unit configured to receive a plurality of fragments corresponding to a data packet, and configured to output forwarding control information associated with the plurality of fragments;
an en-queue unit configured to store the forwarding control information of each fragment from the plurality of fragments, and link related fragments from the plurality of fragments based on the forwarding control information,the en-queue unit configured to store a descriptor of the data packet in a packet descriptor buffer in response to all fragments from the data packet being received in a sequential order, the en-queue unit configured to drop out-of-order fragments that are received in an order different from the sequential order until all fragments from the data packet are received in the sequential order;
a de-queue unit configured to schedule transmission of the plurality of fragments as a single unit based on the stored descriptor and based on a class of service, and configured to retrieve each fragment from the plurality of fragments based on the stored descriptor of the data packet, the descriptor including a pointer for each fragment from the plurality of fragments and the forwarding control information; and
an egress unit configured to assemble the plurality of fragments corresponding to the data packet into a full data packet.
4 Assignments
0 Petitions
Accused Products
Abstract
A hardware packets reassembly apparatus and method includes an ingress unit receiving and parsing a data packet, recognizing fragments corresponding to the data packet, and outputting control information of the fragments. An en-queue unit stores the control information of each fragment, links each related fragment based on the control information, and enqueues the data packet when all fragments are available corresponding to the data packet, wherein the data packet is enqueued only when all of the fragments corresponding to the data packet are available in a sequential order. A dequeue unit dequeues the data packet from a packet descriptor, and scheduling the data packet based on a corresponding class of service. An egress unit assembles all fragments corresponding to the data packet into a full packet and outputting the assembled data packet from an output port.
-
Citations
20 Claims
-
1. A hardware packets reassembly apparatus, comprising:
-
an ingress unit configured to receive a plurality of fragments corresponding to a data packet, and configured to output forwarding control information associated with the plurality of fragments; an en-queue unit configured to store the forwarding control information of each fragment from the plurality of fragments, and link related fragments from the plurality of fragments based on the forwarding control information, the en-queue unit configured to store a descriptor of the data packet in a packet descriptor buffer in response to all fragments from the data packet being received in a sequential order, the en-queue unit configured to drop out-of-order fragments that are received in an order different from the sequential order until all fragments from the data packet are received in the sequential order; a de-queue unit configured to schedule transmission of the plurality of fragments as a single unit based on the stored descriptor and based on a class of service, and configured to retrieve each fragment from the plurality of fragments based on the stored descriptor of the data packet, the descriptor including a pointer for each fragment from the plurality of fragments and the forwarding control information; and an egress unit configured to assemble the plurality of fragments corresponding to the data packet into a full data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A hardware packets reassembly method, comprising:
-
receiving a plurality of fragments corresponding to a data packet, and outputting forwarding control information associated with the plurality of fragments; storing the forwarding control information of each fragment from the plurality of fragments; linking related fragments from the plurality of fragments based on the forwarding control information; storing a descriptor of the data packet in a packet descriptor buffer in response to all fragments from the data packet being received in a sequential order; dropping out-of-order fragments received in an order different from the sequential order until all fragments from the data packet are received in the sequential order; scheduling transmission of the plurality of fragments as a single unit based on the stored descriptor and based on a class of service; retrieving each of the plurality of fragments based on the stored descriptor of the data packet, the descriptor including a pointer for each fragment from the plurality of fragments and the forwarding control information; and assembling the plurality of fragments corresponding to the data packet into a full packet.
-
-
20. A hardware packets reassembly apparatus, comprising:
-
means for receiving a plurality of fragments corresponding to a data packet, and outputting forwarding control information associated with the plurality of fragments; means for storing the forwarding control information of each fragment from the plurality of fragments, linking related fragments from the plurality of fragments based on the forwarding control information, for storing a descriptor of the data packet in a packet descriptor buffer in response to all fragments from the data packet, being received in a sequential order, and for dropping out-of-order fragments received in an order different from the sequential order until all fragments from the data packet are received in the sequential order; means for scheduling transmission of the plurality of fragments as a single unit based on the stored descriptor and based on a class of service, and for retrieving each of the plurality of fragments based on the stored descriptor of the data packet, the descriptor including a pointer for each fragment from the plurality of fragments and the forwarding control information; and means for assembling the plurality of fragments corresponding to the data packet into a full packet.
-
Specification