Packet routing and switching device
First Claim
1. In a router for routing and switching data packets from one or more incoming links to one or more outgoing links, a method for handling the data packets, the method comprising:
- receiving the data packet on one of the one or more incoming links;
measuring a length of the data packet measured in bytes; and
dividing the data packet into at least two cells including a penultimate cell and a tail cell, wherein dividing of the data packet is performed so as to ensure that the penultimate cell and the tail cell are each at least 15 bytes, the dividing comprising;
dividing the length of the data packet by thirty to yield a quotient and a remainder;
if the remainder is less than fifteen bytes, setting a length of the penultimate cell to fifteen bytes and setting a length of the tail cell to the remainder plus fifteen bytes; and
if the remainder is greater than or equal to fifteen bytes, setting the penultimate cell length to thirty bytes and setting the tail cell length to the remainder plus fifteen bytes.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for routing and switching data packets from one or more incoming links to one or more outgoing links of a router. The method comprises receiving a data packet from the incoming link, assigning at least one outgoing link to the data packet based on the destination address of the data packet, and after the assigning operation, storing the data packet in a switching memory based on the assigned outgoing link. The data packet extracted from the switching memory, and transmitted along the assigned outgoing link. The router may include a network processing unit having one or more systolic array pipelines for performing the assigning operation.
-
Citations
6 Claims
-
1. In a router for routing and switching data packets from one or more incoming links to one or more outgoing links, a method for handling the data packets, the method comprising:
-
receiving the data packet on one of the one or more incoming links; measuring a length of the data packet measured in bytes; and dividing the data packet into at least two cells including a penultimate cell and a tail cell, wherein dividing of the data packet is performed so as to ensure that the penultimate cell and the tail cell are each at least 15 bytes, the dividing comprising; dividing the length of the data packet by thirty to yield a quotient and a remainder; if the remainder is less than fifteen bytes, setting a length of the penultimate cell to fifteen bytes and setting a length of the tail cell to the remainder plus fifteen bytes; and if the remainder is greater than or equal to fifteen bytes, setting the penultimate cell length to thirty bytes and setting the tail cell length to the remainder plus fifteen bytes. - View Dependent Claims (2, 3)
-
-
4. A router to route and switch data packets from one or more incoming links to one or more outgoing links, the router comprising a switching engine that comprises a striper to handle the data packets by operations comprising:
-
receiving a data packet on one of the one or more incoming links; measuring a length of the data packet, measured in bytes; and dividing the data packet into at least two cells including a penultimate cell and a tail cell, the switching engine being configured to perform the dividing of the data packet so as to ensure that the penultimate cell and the tail cell are each at least 15 bytes long, the dividing comprising; dividing the length of the data packet by thirty to yield a quotient and a remainder; if the remainder is less than fifteen bytes, setting a length of the penultimate cell to fifteen bytes and setting a length of the tail cell to the remainder plus fifteen bytes; and if the remainder is greater than or equal to fifteen bytes, setting the penultimate cell length to thirty bytes and setting the tail cell length to the remainder plus fifteen bytes. - View Dependent Claims (5, 6)
-
Specification