Method and apparatus for discarding data packets
First Claim
Patent Images
1. A method for filtering a data packet comprising the steps of:
- classifying an internal service class (ISC) to the data packet according to a classification criteria selected from the group comprising at least two of an ingress channel identifier, an IP source address, an IP destination address, a protocol, an options field, a type of service (TOS)/precedence field, source ports, destination ports, and TCP flags;
adding a size value of the data packet to a data count for the ISC;
comparing the ISC to a committed information rate (CIR);
setting a drop preference bit (DP) for the data packet if the data count exceeds the CIR;
setting a watermark indicator (WM) for the data packet responsive to a congestion level of a buffer memory;
concatenating the ISC, DP, and WM into a key for a lookup into a configurable congestion clip table; and
discarding the data packet responsive to the lookup into the configurable congestion clip table.
9 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus and article of manufacture for filtering a data packet. The data packet is classified a filter type according to a classification criteria. A size value of the data packet is added to a data count for the filter type. The filter type is compared to a committed information rate (CIR). The data packet is filtered if the data count exceeds the CIR or a burst rate. A status the data packet may optionally be altered if the data count exceeds the CIR. A priority of the data packet may optionally be reclassified if the data count exceeds the CIR.
-
Citations
19 Claims
-
1. A method for filtering a data packet comprising the steps of:
-
classifying an internal service class (ISC) to the data packet according to a classification criteria selected from the group comprising at least two of an ingress channel identifier, an IP source address, an IP destination address, a protocol, an options field, a type of service (TOS)/precedence field, source ports, destination ports, and TCP flags;
adding a size value of the data packet to a data count for the ISC;
comparing the ISC to a committed information rate (CIR);
setting a drop preference bit (DP) for the data packet if the data count exceeds the CIR;
setting a watermark indicator (WM) for the data packet responsive to a congestion level of a buffer memory;
concatenating the ISC, DP, and WM into a key for a lookup into a configurable congestion clip table; and
discarding the data packet responsive to the lookup into the configurable congestion clip table. - View Dependent Claims (2, 3)
-
-
4. A method for filtering a data packet comprising the steps of:
-
classifying an internal service class (ISC) selected from the group comprising a sender, an application, a service class, and a destination;
adding a size value of the data packet to a data count for the ISC;
comparing the ISC to a committed information rate (CIR);
setting a drop preference bit (DP) for the data packet if the data count exceeds the CIR;
setting a watermark indicator (WM) for the data packet responsive to a congestion level of a buffer memory;
concatenating the ISC, DP, and WM into a key for a lookup into a configurable congestion clip table; and
discarding the data packet responsive to the lookup into the configurable congestion table. - View Dependent Claims (5, 6)
-
-
7. A method for filtering a data packet comprising:
-
classifying an internal service class (ISC) to the data packet according to a classification criteria;
adding a size value of the data packet to a data count for the ISC;
comparing the ISC to a committed information rate (CIR);
setting a drop preference bit (DP) for the data packet if the data count exceeds the CIR;
setting a watermark indicator (WM) for the data packet responsive to a congestion level of a buffer memory;
concatenating the ISC, DP, and WM into a key for a lookup into a configurable congestion clip table;
discarding the data packet responsive to the lookup into the configurable congestion clip table; and
initializing the data count at a time interval.
-
-
8. An apparatus for filtering a data packet comprising:
-
a classifier to classify an internal service class (ISC) to the data packet according to a classification criteria selected from the group comprising an ingress channel identifier, an IP source address, an IP destination address, a protocol, an options field, a TOS/precedence field, source ports, destination ports, and TCP flags;
an adder logically coupled to the classifier to add a size value of the data packet to a data count for the ISC;
a comparator logically coupled to the adder to compare the ISC to a CIR;
a drop flagger logically coupled to the comparator to set a drop preference bit (DP) for the packet if the data count exceeds the CIR;
a watermaker logically coupled to a buffer memory to set a watermark indicator (WM) for the data packet responsive to a congestion level of the buffer memory;
a table lookup unit logically coupled to a configurable congestion clip table to concatenate the ISC, DP, and WM into a key and to lookup the key in the congestion clip table; and
a filter logically coupled to the table lookup unit to discard the data packet responsive to the lookup into the configurable congestion clip table. - View Dependent Claims (9, 10)
-
-
11. An apparatus for filtering a data packet comprising:
-
a classifier to classify an internal service class (ISC) selected from the group comprising a sender, an application, a service class, and a destination;
an adder logically coupled to the classifier to add a size value of the data packet to a data count for the ISC;
a comparator logically coupled to the adder to compare the ISC to a CIR;
a drop flagger logically coupled to the comparator to set a drop preference bit (DP) for the packet if the data count exceeds the CIR;
a watermaker logically coupled to a buffer memory to set a watermark indicator (WM) for the data packet responsive to a congestion level of the buffer memory;
a table lookup unit logically coupled to the data packet to concatenate the ISC, DP, and WM into a key and to lookup the key in a configurable congestion clip table; and
a filter logically coupled to the table lookup unit to discard the data packet responsive to the lookup into the configurable congestion clip table. - View Dependent Claims (12, 13)
-
-
14. An apparatus comprising:
-
a classifier to classify an internal service class (ISC) to the data packet according to a classification criteria;
an adder logically coupled to the classifier to add a size value of the data packet to a data count for the ISC;
a comparator logically coupled to the adder to compare the ISC to a CIR;
a drop flagger logically coupled to the comparator to set a drop preference bit (DP) for the packet if the data count exceeds the CIR;
a watermaker logically coupled to a buffer memory to set a watermark indicator (WM) for the data packet responsive to a congestion level of the buffer memory;
a table lookup unit logically coupled to a configurable congestion clip table to concatenate the ISC, DP, and WM into a key and to lookup the key in the congestion clip table;
a filter logically coupled to the table lookup unit to discard the data packet responsive to the lookup into the configurable congestion clip table; and
an initalizer logically coupled to the adder to initalize the data count at a time interval.
-
-
15. An article of manufacture for use in a computer system to filter a data packet, the article of manufacture comprising:
-
computer usable medium having computer readable program code means embodied in the medium, the program code means including;
computer readable program code means embodied in the computer usable medium for causing a computer to initialize the data count at a time interval;
computer readable program code means embodied in the computer usable medium for causing a computer to classify an internal service class (ISC) to the data packet according to a classification criteria;
computer readable program code means embodied in the computer usable medium for causing a computer to add a size value of the data packet to a data count for the ISC;
computer readable program code means embodied in the computer usable medium for causing a computer to compare the ISC to a CIR;
computer readable program code means embodied in the computer usable medium for causing a computer to set a drop preference bit (DP) for the data packet if the data count exceeds the CIR;
computer readable program code means embodied in the computer usable medium for causing a computer to set a watermark indicator (WM) for the data packet responsive to a congestion level of the buffer memory;
computer readable program code means embodied in the computer usable medium for causing a computer to concatenate the ISC, DP, and WM into a key and to lookup the key in a configurable congestion clip table; and
computer readable program code means embodied in the computer useable medium for causing a computer to discard the data packet responsive to the lookup into the configurable congestion clip table. - View Dependent Claims (16, 17, 18, 19)
-
Specification