Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A hash-collision-based packet forwarding system, comprising: a source device; a destination device; and a networking device coupling the source device to the destination device, wherein the networking device is configured to: receive, from the source device, a first packet that is directed to the destination device; perform, using first packet information included in the first packet, a hash operation to generate a hash value; determine that the hash value has caused a hash collision with a first hash value forwarding entry in a hash forwarding table in the networking device; generate, in response to determining that the hash value has caused a hash collision, a first Policy Based Routing (PBR) entry for the first packet, wherein the first PBR entry is configured to provide for the forwarding of at least one second packet received from the destination device and directed to the source device; and store the first PBR entry in a Ternary Content Addressable Memory (TCAM) in the networking device.
This invention relates to a hash-collision-based packet forwarding system designed to improve network traffic management by dynamically generating Policy Based Routing (PBR) entries in response to hash collisions. The system addresses the problem of inefficient packet forwarding in networks where traditional hash-based forwarding methods may not account for bidirectional traffic patterns or dynamic routing needs. The system includes a source device, a destination device, and a networking device that connects them. The networking device receives a first packet from the source device and performs a hash operation on the packet's information to generate a hash value. If this hash value collides with an existing entry in the hash forwarding table, the networking device generates a PBR entry for the first packet. This PBR entry is specifically configured to forward subsequent packets from the destination device back to the source device, ensuring bidirectional traffic is properly routed. The generated PBR entry is stored in a Ternary Content Addressable Memory (TCAM) for efficient lookup and forwarding. This approach dynamically adapts routing policies based on hash collisions, optimizing network performance for bidirectional communication flows.
2. The system of claim 1 , wherein the first PBR entry is stored in a Layer 2 (L2) area of the TCAM in a lower priority position relative to a plurality of second PBR entries that were previously stored in the L2 area of the TCAM.
A system for managing packet-based routing (PBR) entries in a ternary content-addressable memory (TCAM) is described. The system addresses the challenge of efficiently organizing PBR entries to ensure proper priority handling in network traffic processing. The TCAM is divided into multiple layers, including a Layer 2 (L2) area, where PBR entries are stored. The system prioritizes previously stored PBR entries in the L2 area by assigning them higher priority positions, while a new first PBR entry is placed in a lower priority position within the same L2 area. This ensures that existing routing rules take precedence over the new entry, maintaining consistent traffic flow and avoiding conflicts. The system dynamically adjusts entry positions based on their insertion order, optimizing TCAM utilization and performance. The solution is particularly useful in high-speed networking environments where rapid and accurate packet routing is critical. By structuring the TCAM entries in this manner, the system enhances routing efficiency and reduces the risk of misrouting or performance degradation. The approach leverages the TCAM's ability to perform parallel searches, ensuring that the highest-priority entries are always evaluated first. This method improves network reliability and scalability, making it suitable for modern data centers and enterprise networks.
3. The system of claim 2 , wherein the networking device is configured to: generate a second PBR entry that is configured to provide for the aging of an address that is associated with the source device and that is included in the first PBR entry; and store the second PBR entry in the L2 area of the TCAM in a lower priority position relative to the first PBR entry.
4. The system of claim 3 , wherein the networking device is configured to: generate a third PBR entry that is configured to provide for the movement of the address that is associated with the source device and that is included in the first PBR entry; and store the third PBR entry in the L2 area of the TCAM in a lower priority position relative to the second PBR entry.
5. The system of claim 1 , wherein the first PBR entry is stored in a Layer 3 (L3) area of the TCAM in a lower priority position relative to a plurality of second PBR entries that were previously stored in the L3 area of the TCAM.
6. The system of claim 1 , wherein the networking device is configured to: determine that the first hash value forwarding entry associated with the hash collision has been removed from the hash forwarding table in the networking device; generate, in response to determining that the first hash value forwarding entry has been removed from the hash forwarding table, a second hash value forwarding entry corresponding to the first PBR entry; and store the second hash value forwarding entry in the hash forwarding table.
A networking system addresses the problem of hash collisions in policy-based routing (PBR) by dynamically managing forwarding entries in a hash forwarding table. The system includes a networking device that processes PBR entries, each associated with a hash value for efficient lookup. When a hash collision occurs—where multiple PBR entries map to the same hash value—the device resolves it by prioritizing one entry while temporarily excluding others. If the prioritized entry is later removed from the hash forwarding table, the device detects this removal and generates a new hash value forwarding entry for the excluded PBR entry. This new entry is then stored in the hash forwarding table, ensuring all valid PBR entries are properly represented. The system dynamically adjusts the hash forwarding table to maintain accurate routing decisions, improving network efficiency and reliability by avoiding persistent collisions and ensuring all PBR entries are correctly processed. This approach is particularly useful in high-traffic networks where hash collisions could degrade performance.
7. An Information Handling System (IHS), comprising: a processing system; and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a switch engine that is configured to: receive, from a source device, a first packet; perform, using first packet information included in the first packet, a hash operation to generate a hash value; determine that the hash value has caused a hash collision with a first hash value forwarding entry in a hash forwarding table; generate, in response to determining that the hash value has caused a hash collision, a first Policy Based Routing (PBR) entry for the first packet, wherein the first PBR entry is configured to provide for the forwarding of at least one second packet directed to the source device; and store the first PBR entry in a Ternary Content Addressable Memory (TCAM).
8. The IHS of claim 7 , wherein the first PBR entry is stored in a Layer 2 (L2) area of the TCAM in a lower priority position relative to a plurality of second PBR entries that were previously stored in the L2 area of the TCAM.
9. The IHS of claim 8 , wherein the switch engine is configured to: generate a second PBR entry that is configured to provide for the aging of an address that is associated with the source device and that is included in the first PBR entry; and store the second PBR entry in the L2 area of the TCAM in a lower priority position relative to the first PBR entry.
This invention relates to network routing and address management in an Information Handling System (IHS), specifically addressing the challenge of efficiently managing and aging address entries in a TCAM (Ternary Content Addressable Memory) to optimize routing decisions. The system includes a switch engine that dynamically generates and manages Policy-Based Routing (PBR) entries in the TCAM's L2 (Layer 2) area. The switch engine creates a second PBR entry designed to age or expire an address associated with a source device, which is already referenced in a first PBR entry. This second entry is stored in the TCAM's L2 area but at a lower priority than the first entry, ensuring that the first entry remains active for routing decisions while the second entry facilitates the aging process. The aging mechanism helps maintain accurate and up-to-date routing information by automatically expiring outdated entries, improving network efficiency and reducing congestion. The system ensures that the second PBR entry does not interfere with active routing operations, as it is prioritized lower than the primary entry. This approach enhances the reliability and performance of network routing by dynamically managing address entries in the TCAM.
10. The IHS of claim 9 , wherein the switch engine is configured to: generate a third PBR entry that is configured to provide for the movement of the address that is associated with the source device and that is included in the first PBR entry; and store the third PBR entry in the L2 area of the TCAM in a lower priority position relative to the second PBR entry.
11. The IHS of claim 7 , wherein the first PBR entry is stored in a Layer 3 (L3) area of the TCAM in a lower priority position relative to a plurality of second PBR entries that were previously stored in the L3 area of the TCAM.
12. The IHS of claim 7 , wherein the switch engine is configured to: determine that the first hash value forwarding entry associated with the hash collision has been removed from the hash forwarding table; generate, in response to determining that the first hash value forwarding entry has been removed from the hash forwarding table, a second hash value forwarding entry corresponding to the first PBR entry; and store the second hash value forwarding entry in the hash forwarding table.
13. The IHS of claim 7 , wherein the switch engine is configured to: receive, subsequent to storing the first PBR entry in the TCAM, a second packet; perform, using second packet information included in the second packet, the hash operation and, in response, generating the hash value; and forward, in response to generating the hash value via the performance of the hash operation on the second packet, the second packet using the first PBR entry.
A system for packet forwarding in a network device includes a switch engine that processes packets using a ternary content-addressable memory (TCAM) to store policy-based routing (PBR) entries. The TCAM stores a first PBR entry associated with a hash value generated by a hash operation performed on packet information from a first packet. The switch engine is configured to receive a second packet, extract packet information from the second packet, and perform the same hash operation on this information to generate a hash value. If the generated hash value matches the hash value associated with the first PBR entry, the switch engine forwards the second packet using the first PBR entry. This approach allows the system to efficiently route packets based on precomputed hash values, reducing the need for repeated complex lookups and improving forwarding performance. The system is particularly useful in high-speed networking environments where rapid packet classification and routing are required. The switch engine dynamically applies the stored PBR entry to subsequent packets that produce the same hash value, ensuring consistent routing decisions for similar traffic patterns.
14. A method for packet forwarding based on a hash collision, comprising: receiving, by a networking device from a source device, a first packet; performing, by the networking device using first packet information included in the first packet, a hash operation to generate a hash value; determining, by the networking device, that the hash value has caused a hash collision with a first hash value forwarding entry in a hash forwarding table; generating, by the networking device in response to determining that the hash value has caused a hash collision, a first Policy Based Routing (PBR) entry for the first packet, wherein the first PBR entry is configured to provide for the forwarding of at least one second packet directed to the source device; and storing, by the networking device, the first PBR entry in a Ternary Content Addressable Memory (TCAM) in the networking device.
15. The method of claim 14 , wherein the first PBR entry is stored in a Layer 2 (L2) area of the TCAM in a lower priority position relative to a plurality of second PBR entries that were previously stored in the L2 area of the TCAM.
16. The method of claim 15 , further comprising: generating, by the networking device, a second PBR entry that is configured to provide for the aging of an address that is associated with the source device and that is included in the first PBR entry; and storing, by the networking device, the second PBR entry in the L2 area of the TCAM in a lower priority position relative to the first PBR entry.
17. The method of claim 16 , further comprising: generating, by the networking device, a third PBR entry that is configured to provide for the movement of the address that is associated with the source device and that is included in the first PBR entry; and storing, by the networking device, the second PBR entry in the L2 area of the TCAM in a lower priority position relative to the second PBR entry.
18. The method of claim 14 , wherein the first PBR entry is stored in a Layer 3 (L3) area of the TCAM in a lower priority position relative to a plurality of second PBR entries that were previously stored in the L3 area of the TCAM.
19. The method of claim 14 , further comprising: determining, by the networking device, that the first hash value forwarding entry associated with the hash collision has been removed from the hash forwarding table; generating, by the networking device in response to determining that the first hash value forwarding entry has been removed from the hash forwarding table, a second hash value forwarding entry corresponding to the first PBR entry; and storing, by the networking device, the second hash value forwarding entry in the hash forwarding table.
20. The method of claim 14 , further comprising: receiving, by the networking device subsequent to storing the first PBR entry in the TCAM, a second packet; performing, by the networking device using second packet information included in the second packet, the hash operation and, in response, generating the hash value; and forwarding, by the networking device in response to generating the hash value via the performance of the hash operation on the second packet, the second packet using the first PBR entry.
Unknown
March 2, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.