Segmentation of network packets for a switch fabric
First Claim
Patent Images
1. A method of processing network packets, the method comprising:
- receiving a packet on a port of a network switching device;
segmenting the packet into one or more first segments each having a first segment size and a second segment having a second segment size at least when a length of the packet is greater than the second segment size, wherein the segmenting operation allows the second segment size to exceed the first segment size by up to an overflow amount when doing so will allow the second segment to be a last segment in the packet;
outputting the first segment to a switch fabric during a first epoch; and
outputting the second segment to the switch fabric during a second epoch different from the first epoch.
9 Assignments
0 Petitions
Accused Products
Abstract
A network packet is segmented for transfer through a switch fabric. The last segment of the packet is allowed to exceed the maximum size of previous segments so as to increase the switch fabric utilization. Other features are also provided.
-
Citations
19 Claims
-
1. A method of processing network packets, the method comprising:
-
receiving a packet on a port of a network switching device; segmenting the packet into one or more first segments each having a first segment size and a second segment having a second segment size at least when a length of the packet is greater than the second segment size, wherein the segmenting operation allows the second segment size to exceed the first segment size by up to an overflow amount when doing so will allow the second segment to be a last segment in the packet; outputting the first segment to a switch fabric during a first epoch; and outputting the second segment to the switch fabric during a second epoch different from the first epoch. - View Dependent Claims (2, 3)
-
-
4. A method of processing network packets, the method comprising:
-
receiving packets on at least some of ports of a network processing device; processing the packets; and transmitting at least some of the packets on at least some of the ports of the network processing device; wherein processing the packets comprises, for at least some packets that are to be transmitted, transferring the packets through a switch fabric of the network processing device to deliver the packets to one or more ports on which the packets are to be transmitted; wherein the switch fabric operates in epochs, each epoch corresponding to an interconnection between the switch fabric'"'"'s inputs and the switch fabric'"'"'s outputs; wherein processing the packets comprises, for at least some packets transferred through the switch fabric, segmenting at least those packets that exceed a predefined maximum segment size into one or more segments, wherein each segment that is not the last segment is at most a predefined first segment size smaller than the maximum segment size, but the last segment of at least one packet is of a size exceeding the first segment size but not the maximum segment size; wherein the switch fabric is operable to receive segments of different packets for each epoch; wherein for at least one segmented packet, each segment is provided to the switch fabric in a single epoch, but at least two segments of the packet are provided to the switch fabric in respective different epochs. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A network processing device comprising:
-
a plurality of ports for receiving and transmitting packets; and a processing module for processing of packets received on the ports; wherein the processing module comprises a switch fabric for transferring the packets to one or more ports on which the packets are to be transmitted; wherein the processing module is configured to operate the switch fabric in epochs, wherein for each epoch the processing module is to interconnect the switch fabric'"'"'s inputs and outputs in a configuration corresponding to the epoch, and the processing module comprises a scheduler for determining the configuration for each epoch; wherein the processing module comprises segmenting logic for segmenting a packet to be transferred by the switch fabric into a plurality of segments if the packet exceeds a predefined maximum segment size, each segment other than the last segment being at most a predefined first segment size smaller than the maximum segment size, the last segment being allowed to exceed the first segment size but not the maximum segment size; wherein the processing module comprises a manager for selecting packets or packet segments for providing to the switch fabric for each epoch, the switch fabric being operable to receive segments of different packets for each epoch, and to receive different segments of a packet in respective different epochs. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A line card for use in a network processing device, the line card comprising:
-
a plurality of ports; a PHY device for receiving packets on one or more of the ports; an ingress traffic manager for obtaining at least some of the packets received by the PHY device and segmenting at least some of the packets that exceed a predefined maximum segment size into multiple segments such that each segment that is not the last segment of a packet has a predefined first segment size smaller than the maximum segment size; an interface for connection to a switch fabric configured for transferring at least packets segmented by the ingress traffic manager to one or more ports of the network processing device on which the packets are to be transmitted by the network processing device; wherein for each epoch for which the switch fabric'"'"'s inputs and outputs are interconnected in a configuration corresponding to the epoch, the ingress traffic manager is operable to provide to the switch fabric, for the epoch, a plurality of segments of different packets for transfer by the switch fabric if the ingress traffic manager has obtained such segments. - View Dependent Claims (16, 17, 18, 19)
-
Specification