System and method for late-dropping packets in a network switch
First Claim
1. A method comprising:
- receiving a first portion of a packet at a network switch, wherein the network switch comprises a random access memory, wherein the random access memory comprises a plurality of memory portions configured for use in storing packets in the network switch;
determining that sufficient memo portions are available to store at least the first portion of the packet;
storing the received first portion of the packet in a first one or more of the plurality of memory portions, even if insufficient memory portions are available to store the entire packet;
receiving a second portion of the packet in the network switch;
determining whether sufficient memory portions are available to store the second portion of the packet; and
storing or discarding the second portion of the packet based on the determination of available memory.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for late-dropping packets in a network switch. A network switch may include multiple input ports, multiple output ports, and a shared random access memory coupled to the input ports and output ports by data transport logic. Packets entering the switch may be subject to input thresholding, and may be assigned to a flow within a group. A portion of a packet subject to input thresholding may be accepted into the switch and assigned to a group and flow even if, at the time of arrival of the portion, there are not enough resources available to receive the remainder of the packet. This partial receipt of the packet is allowed because of the possibility of additional resources becoming available between the time of receipt of and resource allocation for the portion of the packet and receipt of subsequent portions of the packet.
14 Citations
36 Claims
-
1. A method comprising:
-
receiving a first portion of a packet at a network switch, wherein the network switch comprises a random access memory, wherein the random access memory comprises a plurality of memory portions configured for use in storing packets in the network switch; determining that sufficient memo portions are available to store at least the first portion of the packet; storing the received first portion of the packet in a first one or more of the plurality of memory portions, even if insufficient memory portions are available to store the entire packet; receiving a second portion of the packet in the network switch; determining whether sufficient memory portions are available to store the second portion of the packet; and storing or discarding the second portion of the packet based on the determination of available memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving a first portion of a packet in a network switch, wherein the network switch comprises a random access memory, wherein the random access memory comprises a plurality of memory portions configured for use in storing packets in the network switch; determining that sufficient memory portions are available to store at least the first portion of the packet; storing the received first portion of the packet in a first one or more memory portions of the plurality of memory portions even if insufficient memory portions are available to store the entire packet; a) receiving a second portion of the packet in the network switch; b) determining if the plurality of memory portions available are sufficient for storing the received second portion of the packet; c) if the plurality of memory portions available are sufficient, storing the second portion of the packet in a second one or more memory portions of the plurality of memory portions; and d) if the plurality of memory portions available are not sufficient, marking the packet to indicate the packet is to be dropped by the network switch. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A network switch comprising:
-
one or more ports configured to receive packets for the network switch; a random access memory comprising a plurality of memory portions configured for use in storing the packets in the network switch; and packet admission logic coupled between the one or more ports and the random access memory, wherein the packet admission logic is configured to; receive a first portion of a packet at a first port of the one or more ports; determine that sufficient memory portions are available to store at least the first portion of the packet; and store the received first portion of the packet in a first one or more of the plurality of memory portions, even if insufficient memory portions are available to store the entire packet; receive a second portion of the packet in the network switch; determine whether sufficient memory portions are available to store the second portion of the packet; and store or discard the second portion of the packet based on the determination of available memory. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A network switch comprising:
-
one or more ports configured to receive input packets for the network switch; a random access memory comprising a plurality of memory portions configured for use in storing packets in the network switch; and packet admission logic coupled between the one or more ports and the random access memory, wherein the packet admission logic is configured to; receive a first portion of a packet at a first port of the one or more ports; determine that sufficient memo portions are available to store at least the first portion of the packet; store the received first portion of the packet in a first one or more memory portions of the plurality of memory portions, even if insufficient memory portions are available to store the entire packet; a) receive a second portion of the packet at the first port; b) determine if the plurality of memory portions available are sufficient for storing the received second portion of the packet; c) if the plurality of memory portions available are sufficient, store the received second portion of the packet in a second one or more memory portions of the plurality of memory portions; and d) if the plurality of memory portions available are not sufficient, mark the packet to indicate the packet is to be dropped by the network switch. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
Specification