Claims
- 1. A method for classifying traffic at a network node comprising:
programming a content addressable memory (CAM) array with multiple class-specific entries, wherein each of said class-specific entries has an associated traffic class; obtaining a protocol-independent key field from an incoming packet; and searching said programmed CAM array with said protocol-independent key field for a class-specific entry that matches said protocol-independent key field to identify an associated traffic class of said incoming packet.
- 2. The method of claim 1 wherein a class-specific entry of said class-specific entries is programmed with fields in the same sequence that said fields exist in an assembled packet.
- 3. The method of claim 1 wherein said protocol-independent key field is a continuous portion of said incoming packet.
- 4. The method of claim 3 wherein said protocol-independent key field is a portion of said incoming packet that begins from bit 0 of said incoming packet.
- 5. The method of claim 3 further comprising offsetting said protocol-independent key field by a predefined number of bits for every packet that comes into the network node.
- 6. The method of claim 5 further comprising offsetting said protocol-independent key field by a predefined number of bits from bit zero (0) of said incoming packet for every packet that comes into the network node.
- 7. The method of claim 5 further comprising offsetting said multiple class-specific entries by a predefined number of bits.
- 8. The method of claim 7 further comprising calculating an offset amount to be used in said offsetting, said offset amount being calculated once for programming of said multiple class-specific entries and being applied to all key fields equally when said protocol-independent key field is obtained.
- 9. The method of claim 1 further comprising masking a portion of a class-specific entry of said multiple class-specific entries.
- 10. The method of claim 1 wherein said protocol-independent key field includes multi-layer header information.
- 11. The method of claim 1 wherein said protocol-independent key field includes fields from more than one protocol.
- 12. The method claim 1 wherein said protocol-independent key field ends at a bit that is not at the end of a protocol field.
- 13. The method of claim 1 wherein a class-specific entry of said multiple class-specific entries includes fields from more than one protocol.
- 14. The method claim 1 wherein a class-specific entry of said multiple class-specific entries ends at a bit that is not at the end of a protocol field.
- 15. The method of claim 1 wherein said class-specific entries are programmed into said CAM array with header fields in the same sequence that said header fields exist in an assembled packet.
- 16. A method for distributing traffic at a network node comprising:
programming a content addressable memory (CAM) array with multiple class-specific entries, wherein each of said class-specific entries has an associated traffic distribution policy; obtaining a protocol-independent key field from an incoming packet; searching said programmed CAM array with said protocol-independent key field for a class-specific entry that matches said protocol-independent key field to identify an associated traffic distribution policy for said incoming packet; and applying said identified traffic distribution policy to said incoming packet.
- 17. The method of claim 16 wherein said traffic distribution policy comprises a traffic distribution algorithm.
- 18. The method of claim 17 wherein said traffic distribution algorithm is selected from the group consisting of:
a round-robin traffic distribution algorithm; a least utilized channel traffic distribution algorithm; a fixed channel traffic distribution algorithm; and a hashing algorithm.
- 19. The method of claim 16 further comprising distributing said incoming packet according to said identified traffic distribution policy.
- 20. The method of claim 16 wherein a class-specific entry of said class-specific entries is programmed with fields in the same sequence that said fields exist in an assembled packet.
- 21. The method of claim 16 wherein said protocol-independent key field is a continuous portion of said incoming packet.
- 22. The method of claim 21 wherein said protocol-independent key field is a portion of said incoming packet that begins from bit 0 of said incoming packet.
- 23. The method of claim 21 further comprising offsetting said protocol-independent key field by a predefined number of bits for every packet that comes into the network node.
- 24. The method of claim 23 further comprising offsetting said protocol-independent key field by a predefined number of bits from bit zero (0) of said incoming packet for every packet that comes into the network node.
- 25. The method of claim 23 further comprising offsetting said multiple class-specific entries by a predefined number of bits.
- 26. The method of claim 25 further comprising calculating an offset amount to be used in said offsetting, said offset amount being calculated once for programming of said multiple class-specific entries and being applied to all key fields equally when said protocol-independent key field is obtained.
- 27. The method of claim 16 further comprising masking a portion of a class-specific entry of said multiple class-specific entries.
- 28. The method of claim 16 wherein said protocol-independent key field includes multi-layer header information.
- 29. The method of claim 16 wherein said protocol-independent key field includes fields from more than one protocol.
- 30. The method claim 16 wherein said protocol-independent key field ends at a bit that is not at the end of a protocol field.
- 31. The method of claim 16 wherein a class-specific entry of said multiple class-specific entries includes fields from more than one protocol.
- 32. The method claim 16 wherein a class-specific entry of said multiple class-specific entries ends at a bit that is not at the end of a protocol field.
- 33. The method of claim 16 wherein said class-specific entries are programmed into said CAM array with header fields in the same sequence that said header fields exist in an assembled packet.
- 34. A method for classifying traffic at a network node comprising:
programming a content addressable memory (CAM) array with multiple class-specific entries, said class-specific entries being programmed with fields in the same sequence that said fields exist in an assembled packet, wherein each of said class-specific entries has an associated traffic class; identifying a key field from an incoming packet; and searching said programmed CAM array with said key field for a class-specific entry that matches the key field to identify an associated traffic class of said incoming packet.
- 35. The method claim 34 wherein said key field is protocol-independent.
- 36. A method for distributing traffic at a network node comprising:
programming a content addressable memory (CAM) array with multiple class-specific entries, said class-specific entries being programmed with fields in the same sequence that said fields exist in an assembled packet, wherein each of said class-specific entries has an associated traffic distribution policy; identifying a key field from an incoming packet; searching said programmed CAM array with said key field for a class-specific entry that matches the key field to identify an associated traffic distribution policy for said incoming packet; and applying said identified traffic distribution policy to said incoming packet.
- 37. The method of claim 36 wherein the key field is protocol-independent.
- 38. A method for classifying traffic at a network node comprising:
programming a content addressable memory (CAM) array with multiple class-specific entries, said class-specific entries being programmed with fields in the same sequence that said fields exist in an assembled packet, wherein each of said class-specific entries has an associated traffic class; obtaining a protocol-independent key field from an incoming packet; and searching said programmed CAM array with said protocol-independent key field for a class-specific entry that matches said protocol-independent key field to identify an associated traffic class of said incoming packet.
- 39. A method for distributing traffic at a network node comprising:
programming a content addressable memory (CAM) array with multiple class-specific entries, said class-specific entries being programmed with fields in the same sequence that said fields exist in an assembled packet, wherein each of said class-specific entries has an associated traffic distribution policy; obtaining a protocol-independent key field from an incoming packet; searching said programmed CAM array with said protocol-independent key field for a class-specific entry that matches said protocol-independent key field to identify an associated traffic distribution policy for said incoming packet; and applying said identified traffic distribution policy to said incoming packet.
- 40. A method for classifying traffic at a network node comprising programming a content addressable memory (CAM) array with multiple class-specific entries, said class-specific entries being programmed with fields in the same sequence that said fields exist in an assembled packet, wherein each of said class-specific entries has an associated traffic class.
- 41. A method for classifying traffic at a network node comprising performing protocol-independent key field extraction to identify a protocol-independent key field from an incoming packet.
- 42. A method for classifying traffic at a network node comprising:
programming a content addressable memory (CAM) array with multiple class-specific entries, said class-specific entries being programmed with fields in the same sequence that said fields exist in an assembled packet, wherein each of said class-specific entries has an associated traffic distribution policy; performing protocol-independent key field extraction to identify a protocol-independent key field from an incoming packet; and searching said programmed CAM array with said protocol-independent key field for a class-specific entry that matches said protocol-independent key field to identify an associated traffic distribution policy for said incoming packet.
- 43. A system for classifying traffic at a network node comprising:
a content addressable memory (CAM) array configured to be programmed with multiple class-specific entries, wherein each of said class-specific entries has an associated traffic class; a key field extraction engine configured to obtain a protocol-independent key field from an incoming packet; and a traffic classification module configured to search said programmed CAM array with said protocol-independent key field for a class-specific entry that matches said protocol-independent key field to identify an associated traffic class of said incoming packet.
- 44. The system of claim 43 wherein a class-specific entry of said class-specific entries is programmed with fields in the same sequence that said fields exist in an assembled packet.
- 45. A system for distributing traffic at a network node comprising:
a content addressable memory (CAM) array configured to be programmed with multiple class-specific entries, wherein each of said class-specific entries has an associated traffic distribution policy; a key field extraction engine configured to obtain a protocol-independent key field from an incoming packet; a traffic classification module configured to search said programmed CAM array with said protocol-independent key field for a class-specific entry that matches said protocol-independent key field to identify an associated traffic distribution policy for said incoming packet; and a traffic distribution engine configured to apply said identified traffic distribution policy to said incoming packet.
- 46. The system of claim 45 wherein a class-specific entry of said class-specific entries is programmed with fields in the same sequence that said fields exist in an assembled packet.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is entitled to the benefit of provisional Patent Application Serial No. 60/386,000, filed Jun. 4, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60386000 |
Jun 2002 |
US |