Method and apparatus for identifying runt data frames received by a network switch
First Claim
1. A method of detecting whether data frames received by a network switch that selectively forwards received data frames to ports of the switch for transmission are runt data frames that are smaller than a threshold value, the method comprising the steps:
- examining a stored value that indicates the number of data transfers to a memory area required to store a prescribed portion of the received data frame in the memory area;
determining if the received data frame is a runt data frame based on the stored value; and
generating a runt indication signal upon completion of transfer of the received data frame to the memory area, the runt indication signal specifying whether the received data frame is a runt data frame.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for detecting runt data frames received by a network switch includes a plurality of queuing logics, corresponding to the number of ports contained in the network switch. The queuing logics transfer received data frames to a memory area of the network switch. The queuing logics also update the value of a column write pointer that indicates the number of data transfers required to store a prescribed portion of a particular received data frame in the memory area. A rules queue examines the column write pointer and determines if the particular data frame is a runt data frame. A runt indication signal is generated, after the particular data frame has been completely transferred to the memory area, in order to indicate if the particular data frame was a runt data frame.
-
Citations
27 Claims
-
1. A method of detecting whether data frames received by a network switch that selectively forwards received data frames to ports of the switch for transmission are runt data frames that are smaller than a threshold value, the method comprising the steps:
-
examining a stored value that indicates the number of data transfers to a memory area required to store a prescribed portion of the received data frame in the memory area;
determining if the received data frame is a runt data frame based on the stored value; and
generating a runt indication signal upon completion of transfer of the received data frame to the memory area, the runt indication signal specifying whether the received data frame is a runt data frame. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
creating a runt status file having a plurality of addressable cell locations; and
storing runt indication values for each of the ports in respective cell locations of the runt status file.
-
-
4. The method of claim 1, further comprising the steps:
-
performing an internet group membership protocol (IGMP) type check on the received data frame if the received data frame is not a runt data frame; and
not performing an IGMP type check on the received data frame if the received data frame is a runt data frame.
-
-
5. The method of claim 1, wherein the step of determining if the received data frame is a runt data frame includes a step of comparing the stored value to a prescribed value.
-
6. The method of claim 1, wherein the runt indication signal, generated when the stored value is greater than a prescribed value, specifies that the received data frame is not a runt data frame.
-
7. The method of claim 1, wherein the runt indication signal, generated when the stored value is less than a prescribed value, specifies that the received data frame is a runt data frame.
-
8. The method of claim 1, wherein when the value of the column write pointer is equal to a prescribed value, the method further comprising the steps:
-
determining the amount of data contained in a buffer used to store the prescribed portion of the received data frame in the memory area; and
performing the step of determining if the received data frame is a runt data frame based on both the stored value and the amount of data contained in the buffer used to store the prescribed portion of the received data frame.
-
-
9. The method of claim 8, further comprising, prior to performing the step of examining the stored value, performing the steps:
-
snooping on a data bus used to transfer the received data frame from a queuing logic of the network switch to the memory area; and
capturing a portion of a header of the received data frame as it is being transferred from the queuing logic to the memory area.
-
-
10. The method of claim 9, further comprising the steps:
-
examining the value of a buffer length field contained in the captured portion of the header of the received data frame, the buffer length field storing a value that indicates the amount of data stored in the buffer; and
determining if the buffer contains a prescribed amount of data, based on the buffer length field.
-
-
11. The method of claim 10, wherein the step of examining the value of a buffer length field comprises the step of examining the value of the two most significant bits of the buffer length field to determine whether the prescribed amount of data is greater than or equal to the threshold value.
-
12. The method of claim 10, wherein:
-
the step of determining if the buffer contains a prescribed amount of data comprises a step of determining if the prescribed amount of data is less than the threshold value; and
the step of generating a runt indication signal includes the steps;
generating a runt indication signal specifying that the received data frame is a runt data frame if the prescribed amount of data is less than the threshold value, and generating a runt indication signal specifying that the received data frame is not a runt data frame if the prescribed amount of data is greater than or equal to the threshold value.
-
-
2. A method of detecting whether data frames received by a network switch that selectively forwards received data frames to ports of the switch for transmission are runt data frames that are smaller than a threshold value, the method comprising the steps:
-
examining a stored value that indicates the number of data transfers to a memory area required to store a prescribed portion of the received data frame in the memory area;
determining if the received data frame is a runt data frame based on the stored value; and
generating a runt indication signal upon completion of transfer of the received data frame to the memory area, the runt indication signal specifying whether the received data frame is a runt data frame;
wherein the step of generating a runt indication signal further includes a step of specifying which of the switch ports will transmit the data frame.
-
-
13. An arrangement for detecting runt data frames received by a network switch that forwards received data frames to multiple ports comprising:
-
a plurality of queuing logics, corresponding to the number of said multiple ports for transferring received data frames to a memory area of the network switch and updating a stored value that indicates the number of data transfers required to store a prescribed portion of a particular received data frame in said memory area;
a rules queue for examining said stored value and determining if said particular data frame is a runt data frame that is smaller than a threshold value; and
a runt status circuit for generating a runt indication signal specifying whether said particular data frame is a runt data frame, based upon the stored value and the threshold value. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
create a runt status file containing a plurality of cell locations, said cell locations being addressable by said runt output circuit; and
store a runt indication value for each of the ports in a respective cell location of said runt status file.
-
-
16. The arrangement of claim 13, further comprising an internal rules checker for performing an (IGMP) type check on said particular data frame if said particular data frame is not a runt data frame.
-
17. The arrangement of claim 13, wherein said stored value is the value of a column write pointer.
-
18. The arrangement of claim 13, wherein said runt status circuit includes logic for detecting completion of transfer of said particular data frame to said memory area.
-
19. The arrangement of claim 13, wherein said rules queue is configured to determine if said particular data frame is a runt data frame by comparing the value of said column write pointer to a prescribed value.
-
20. The arrangement of claim 19, wherein:
-
said stored value is greater than said prescribed value; and
said runt status circuit outputs a runt indication signal specifying that said particular data frame is not a runt data frame.
-
-
21. The arrangement of claim 19, wherein:
-
said stored value is less than said prescribed value; and
said runt status circuit generates a runt indication signal specifying that said particular data frame is a runt data frame.
-
-
22. The arrangement of claim 19, wherein:
-
the value of said stored value is equal to said prescribed value; and
said rules queue is configured to determine the size of a buffer used to store the prescribed portion of said particular data frame in said memory area, and determine if said particular data frame is a runt data frame based on said stored value and the size of said buffer.
-
-
23. The arrangement of claim 22, wherein said rules queue is further configured to snoop on a data bus used for transferring said particular data frame to said memory area and capture a portion of said particular data frame during transfer from one of said plurality of queuing logics to said memory area.
-
24. The arrangement of claim 23, wherein said rules queue is further configured to:
-
examine the value of a buffer length field contained in the captured portion of said particular data frame; and
determine if the size of a data portion of said buffer is less than said threshold value.
-
-
25. The arrangement of claim 24, wherein said threshold value is 64 bytes.
-
26. The arrangement of claim 24, wherein said rules queue is configured to determine if the size of said data portion is less than said threshold value by examining the two most significant bits of said buffer length field.
-
27. The arrangement of claim 26, wherein said runt status circuit is configured to output a runt indication signal specifying that said particular data frame is a runt if the size of said data portion is less than said threshold value, and output a runt indication signal specifying that said particular data frame is not a runt if the size of said data portion is greater than or equal to said threshold value.
-
14. An arrangement for detecting runt data frames received by a network switch that forwards received data frames to multiple ports comprising:
-
a plurality of queuing logics, corresponding to the number of said multiple ports for transferring received data frames to a memory area of the network switch and updating a stored value that indicates the number of data transfers required to store a prescribed portion of a particular received data frame in said memory area;
a rules queue for examining said stored value and determining if said particular data frame is a runt data frame that is smaller than a threshold value; and
a runt status circuit for generating a runt indication signal specifying whether said particular data frame is a runt data frame, based upon the stored value and the threshold value;
wherein said runt status circuit is configured to generate a runt indication signal that specifies which of the ports will transmit said particular data frame.
-
Specification