IP Library Granted Patent US 9,246,802
Granted Patent B2
US 9,246,802 · App. 13/739,940 · Granted Jan 26, 2016

Management of routing tables shared by logical switch partitions in a distributed network switch

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,246,802
App. No.
13/739,940
Granted
Jan 26, 2016
Kind
B2
Abstract

Techniques are provided for managing a routing table in a distributed network switch. The distributed network switch is divided into logical switch partitions, or logical networks, that may share a routing table. The shared routing table is configured with counters and thresholds to control utilization of the routing table on a per-logical network basis. When counters exceed certain threshold, the routing table is modified to reduce routing entries within the routing table or pause insertion of new routing entries.

Claims (29)

1. A computer-implemented method for routing table management in a distributed network switch having a plurality of switch modules, wherein each switch module comprises: a plurality of bridge elements and a routing table, wherein the routing table in each switch module is shared among the plurality of bridge elements in the respective switch module, wherein the plurality of switch modules are logically partitioned into a plurality of logical networks, the method comprising:

receiving, by a first switch module, a first frame having a source address and a destination address, wherein the first frame is associated with a first logical network of the plurality of logical networks;

upon determining that the routing table of the first switch module does not include a routing entry for the source address, modifying the routing table in the first switch module to include a first routing entry having routing information determined for the source address and the first logical network;

updating a count of routing entries in the routing table that are associated with the first logical network; and

upon determining that the count of routing entries associated with the first logical network exceeds a first threshold value associated with the first logical network, modifying the routing table to invalidate a second routing entry in the routing table based on the second routing entry being associated with the first logical network,

wherein the modifying comprises: determining that the second routing entry is a non-static routing entry; determining that the second routing entry is not replicated from other portions of the routing table; and determining that the first switch module is an owner of the second routing entry, wherein the owner of a routing entry for a network address is characterized as a switch module having a forwarding database that learned the network address.

2. The computer-implemented method of claim 1 , wherein the modifying the routing table to invalidate the second routing entry is based on an extent to which the second routing entry is considered to have aged according to a predetermined aging policy of the routing table.

3. The computer-implemented method of claim 1 , further comprising: decrementing the count of routing entries in the routing table that are associated with the first logical network based on the number of routing entries associated with the first logical network that have been invalidated in the routing table.

4. The computer-implemented method of claim 1 , further comprising: upon determining that the updated count of routing entries associated with the first logical network is greater than a highest historical value for the count, updating the highest historical value to be equal to the corresponding updated count.

5. The computer-implemented method of claim 1 , further comprising: upon determining that the count of routing entries associated with the first logical network exceeds a second threshold value associated with the first logical network, the second threshold value being greater than the first threshold value, modifying the routing table to pause insertion of new routing entries associated with the first logical network.

6. The computer-implemented method of claim 5 , further comprising: receiving, by the first switch module, a second frame having a source address and a destination address, wherein the second frame is associated with the first logical network; upon determining that the routing table of the first switch module does not include a routing entry for the source address of the second frame, and upon further determining that the routing table has been modified to pause insertion of new routing entries associated with the first logical network, generating a notification that indicates a new routing entry has not been inserted into the routing table for exceeding the second threshold value associated with the first logical network.

7. The computer-implemented method of claim 1 ,

wherein the modifying the routing table in the first switch module to include the first routing entry further comprises:

modifying the routing table in the first switch module based on a hash function to include the first routing entry, wherein the first routing entry stores a routing key based on a virtual local area network (VLAN) tag, a logical network (LN) identifier, and a media access control (MAC) address.

8. A computer-implemented method for routing table management in a distributed network switch having a plurality of switch modules, wherein each switch module comprises a plurality of bridge elements and a routing table, wherein the routing table in each switch module is shared among the plurality of bridge elements in the respective switch module, wherein the plurality of switch modules are logically partitioned into a plurality of logical networks, the method comprising:

receiving, by a first switch module, a first frame having a source address and a destination address, wherein the first frame is associated with a first logical network of the plurality of logical networks;

upon determining that the routing table of the first switch module does not include a routing entry for the source address, modifying the routing table in the first switch module to include a first routing entry having routing information determined for the source address and the first logical network;

updating a count of routing entries in the routing table that are associated with the first logical network;

upon determining that the count of routing entries associated with the first logical network exceeds a first threshold value associated with the first logical network, modifying the routing table to invalidate a second routing entry in the routing table based on the second routing entry being associated with the first logical network;

upon determining that the count of routing entries associated with the first logical network exceeds a second threshold value associated with the first logical network, the second threshold value being greater than the first threshold value, modifying the routing table to pause insertion of new routing entries associated with the first logical network;

receiving, by the first switch module, a second frame having a source address and a destination address, wherein the second frame is associated with the first logical network; and

upon determining that the routing table of the first switch module does not include a routing entry for the source address of the second frame, and upon further determining that the routing table has been modified to pause insertion of new routing entries associated with the first logical network, generating a notification that indicates a new routing entry has not been inserted into the routing table for exceeding the second threshold value associated with the first logical network.

9. The computer-implemented method of claim 8 , wherein the modifying the routing table to invalidate the second routing entry is based on an extent to which the second routing entry is considered to have aged according to a pre-determined aging policy of the routing table.

10. The computer-implemented method of claim 8 , wherein the modifying the routing table to invalidate the second routing entry further comprises: determining that the second routing entry is a non-static routing entry;

determining that the second routing entry is not replicated from other portions of the routing table; and

determining that the first switch module is an owner of the second routing entry, wherein the owner of a routing entry for a network address is characterized as a switch module having a forwarding database that learned from the network address.

11. The computer-implemented method of claim 8 , further comprising: decrementing the count of routing entries in the routing table that are associated with the first logical network based on the number of routing entries associated with the first logical network that have been invalidated in the routing table.

12. The computer-implemented method of claim 8 , further comprising: upon determining that the updated count of routing entries associated with the first logical network is greater than a highest historical value for the count, updating the highest historical value to be equal to the corresponding updated count.

13. The computer-implemented method of claim 8 , wherein the modifying the routing table in the first switch module to include the first routing entry further comprises: modifying the routing table in the first switch module based on a hash function to include the first routing entry, wherein the first routing entry stores a routing key based on a virtual local area network (VLAN) tag, a logical network (LN) identifier, and a media access control (MAC) address.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050301/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2013
From: ANGST, DEBRA L.; BASSO, CLAUDE; CORS, JOSEP; LLACUNA, MARK Q.; SHEDIVY, DAVID A.; VERRILLI, COLIN B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030858/0965 →