IP Library › Granted Patent US 9,559,962
Granted Patent B2
US 9,559,962 · App. 14/047,325 · Granted Jan 31, 2017

Optimizing traffic flows via dynamic routing protocol modifications when using server virtualization with dynamic routing

Inventors: Muhammad Durrani (Sunnyvale, CA); Mukhtiar Shaikh (San Jose, CA)
Assignee: Brocade Communications Systems, Inc.
H04L47/125H04L45/586H04L47/41
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,559,962
App. No.
14/047,325
Granted
Jan 31, 2017
Kind
B2
Abstract

Techniques for optimizing traffic flows via dynamic routing protocol (DRP) modifications when server virtualization is used with dynamic routing are provided. In one embodiment, a network device can determine that it is part of a system of network devices acting as a virtual router. The network device can then transmit, to a client device, a DRP control packet that includes an interface IP address of the network device and a virtual IP address of the virtual router. In a further embodiment, the client device can receive the DRP control packet and store the interface IP address and the virtual IP address in a routing database. At the time of computing routing entries based on the routing database, the client device can replace, in entries that identify the interface IP address as the next hop, the interface IP address with the virtual IP address.

Claims (63)

1. A method comprising:

determining, by a network device, that it is part of a system of network devices, the system of network devices acting as a virtual router;

transmitting, by the network device to a client device, an OSI Layer 3 dynamic routing protocol (DRP) link state advertisement packet that includes

an IP address of an interface of the network device,

a virtual IP address of the virtual router, and

a virtual MAC address of the virtual router;

receiving, by the network device, a data packet from the client device, the data packet including the virtual MAC address of the virtual router as the data packet's destination MAC address;

matching, by the network device, the destination MAC address of the data packet with an entry in a Layer 2 forwarding table;

determining, by the network device, that a flag associated with the matched entry is enabled, the flag indicating that the matched entry specifies the virtual MAC address; and

in response to the determining, performing, by the network device, a lookup into a layer 3 routing table and routing the data packet, in accordance with the lookup, to a next hop destination.

2. The method of claim 1 wherein the client device is connected to the system of network devices via a plurality of links that form a link aggregation group (LAG), and

wherein the data packet is transmitted from the client device to the network device using one of the plurality of links in the LAG.

3. The method of claim 1 wherein the system of network devices interoperate using Virtual Router Redundancy Protocol (VRRP).

4. The method of claim 1 wherein the DRP link state advertisement packet is an Open Shortest Path First (OSPF) link state advertisement (LSA).

5. The method of claim 4 wherein the OSPF LSA is a Type 12 LSA.

6. The method of claim 1 wherein the dynamic routing protocol is an Intermediate System to Intermediate System (IS-IS) type-length-value (TLV) packet.

7. The method of claim 6 wherein the IS-IS TLV packet is a Type 128 TLV.

8. The method of claim 1 wherein the client device is a router or a switch.

9. The method of claim 1 further comprising:

receiving, by the client device, the DRP link state advertisement packet from the network device;

adding, by the client device, the IP address and the virtual IP address to a routing database;

determining, by the client device, one or more routing entries for a Layer 3 routing table of the client device based on the routing database; and

replacing, for each routing entry that identifies the IP address as a next hop IP address, the IP address with the virtual IP address.

10. The method of claim 9 wherein the system of network devices interoperate using Virtual Router Redundancy Protocol (VRRP).

11. The method of claim 9 where the DRP link state advertisement packet is an Open Shortest Path First (OSPF) link state advertisement (LSA).

12. The method of claim 9 wherein the DRP link state advertisement packet is an Intermediate System to Intermediate System (IS-IS) type-length-value (TLV) packet.

13. The method of claim 9 wherein the client device is connected to the system of network devices via a plurality of links that form a link aggregation group (LAG).

14. The method of claim 13 further comprising, by the client device:

determining, based on the Layer 3 routing table of the client device, that a next hop IP address for a received data packet is the virtual IP address of the virtual router;

calculating a hash value based on one or more headers of the data packet;

selecting a link in the plurality of links based on the hash value; and

forwarding the data packet over the selected link.

15. A network device comprising:

a processor; and

a non-transitory computer readable storage medium having stored thereon program code that, when executed by the processor, causes the processor to:

determine that the network device is part of a system of network devices, the system of network devices acting as a virtual router;

transmit, to a client device, an OSI Layer 3 dynamic routing protocol (DRP) link state advertisement packet that includes

an IP address of an interface of the network device,

a virtual IP address of the virtual router, and

a virtual MAC address of the virtual router;

receive a data packet from the client device, the data packet including the virtual MAC address of the virtual router as the data packet's destination MAC address;

match the destination MAC address of the data packet with an entry in a Layer 2 forwarding table;

determine that a flag associated with the matched entry is enabled, the flag indicating that the matched entry specifies the virtual MAC address; and

in response to the determining, perform a lookup into a layer 3 routing table and route the data packet, in accordance with the lookup, to a next hop destination.

16. The network device of claim 15 wherein the client device is configured to:

receive the DRP link state advertisement packet from the network device;

add the IP address and the virtual IP address to a routing database; determine one or more routing entries for a Layer 3 routing table of the client device based on the routing database; and

replace, for each routing entry that identifies the IP address as a next hop IP address, the IP address with the virtual IP address.

17. A non-transitory computer readable storage medium having stored thereon program code executable by a processor of a network device, the program code comprising:

program code that causes the processor to determine that the network device is part of a system of network devices, the system of network devices acting as a virtual router;

program code that causes the processor to transmit, to a client device, an OSI Layer 3 dynamic routing protocol (DRP) link state advertisement packet that includes

an IP address of an interface of the network device,

a virtual IP address of the virtual router, and

a virtual MAC address of the virtual router;

program code that causes the processor to receive a data packet from the client device, the data packet including the virtual MAC address of the virtual router as the data packet's destination MAC address;

program code that causes the processor to match the destination MAC address of the data packet with an entry in a layer 2 forwarding table;

program code that causes the processor to determine that a flag associated with the matched entry is enabled, the flag indicating that the matched entry specifies the virtual MAC address; and

program code that causes the processor to, in response to the determining, perform a lookup into a layer 3 routing table and route the data packet, in accordance with the lookup, to a next hop destination.

18. The non-transitory computer readable storage medium of claim 17 wherein the client device is configured to:

receive the DRP link state advertisement packet from the network device;

add the IP address and the virtual IP address to a routing database;

determine one or more routing entries for a Layer 3 routing table of the client device based on the routing database; and

replace, for each routing entry that identifies the IP address as a next hop IP address, the IP address with the virtual IP address.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2013
From: DURRANI, MUHAMMAD; SHAIKH, MUKHTIAR
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 031358/0520 →
Continuity (6)
Provisional Application 61755346 · Jan 22, 2013
Provisional Application 61755350 · Jan 22, 2013
Provisional Application 61770745 · Feb 28, 2013
Provisional Application 61771531 · Mar 1, 2013
Provisional Application 61799039 · Mar 15, 2013
Related Publication 20140204761A1 · Jul 24, 2014