Default gateway redundancy support across SPB networks

Methods, systems and computer readable media for default gateway redundancy support across SPB networks are described. In some implementations, the method can include enabling peer network information exchange on a per-network basis between a plurality of switches in a network and advertising a first address and a second address from each switch in the plurality of switches to the other switches. The method can also include storing, at each switch, the first address and the second address received from the other switches in the plurality of switches. The method can further include routing, at a first switch, traffic for a second switch when the first switch detects that the traffic can be routed more efficiently without being sent to the second switch.

TECHNICAL FIELD

Embodiments relate generally to computer networks, and more particularly, to methods, systems and computer readable media for default gateway redundancy support across shortest path bridging (SPB) networks.

BACKGROUND

In some computer networks, when virtual machines and/or physical machines are moved to different locations, each respective gateway IP address may need to be updated or packets may take suboptimal paths during routing.

Routed split multi-link trunking (RSMLT) support may only provide default gateway redundancy only between two local peers and may not work across an SPB network. Further, the current RSMLT may support exchanges RSMLT IP and MAC addresses across an inter-switch trunk (IST) link only. The messages may not be exchanged across non-IST links.

Embodiments were conceived in light of the above mentioned needs, problems and/or limitations, among other things.

SUMMARY

One or more embodiments can include methods, systems and computer readable media for default gateway redundancy support across SPB networks. In some implementations, the method can include enabling peer network information exchange on a per-network basis between a plurality of switches in a network and advertising a first address and a second address from each switch in the plurality of switches to the other switches. The method can also include storing, at each switch, the first address and the second address received from the other switches in the plurality of switches. The method can further include routing, at a first switch, traffic for a second switch when the first switch detects that the traffic can be routed more efficiently without being sent to the second switch.

The first address can be an Internet Protocol address and the second address can be a MAC address. The peer network information exchange can include RSMLT or a standalone default gateway IP address and MAC address.

The method can also include starting a hold down timer when one of the switches is rebooted and forwarding traffic to a switch associated with the gateway for the traffic for the duration of the hold down timer. The first address and the second address received from the other switches in the plurality of switches as long as the advertising switch is reachable through the network. The network can include a shortest path bridging (SPB) network. The first address and the second address can correspond to a default gateway.

Some implementations can include a system comprising one or more processors configured to perform operations. The operations can include enabling peer network information exchange on a per-network basis between a plurality of switches in a network and advertising a first address and a second address from each switch in the plurality of switches to the other switches. The operations can also include storing, at each switch, the first address and the second address received from the other switches in the plurality of switches. The operations can further include routing, at a first switch, traffic for a second switch when the first switch detects that the traffic can be routed more efficiently without being sent to the second switch.

The first address can be an Internet Protocol address and the second address can be a MAC address. The peer network information exchange can include RSMLT or a standalone default gateway IP address and MAC address.

The operations can also include starting a hold down timer when one of the switches is rebooted and forwarding traffic to a switch associated with the gateway for the traffic for the duration of the hold down timer. The first address and the second address received from the other switches in the plurality of switches as long as the advertising switch is reachable through the network. The network can include a shortest path bridging network. The first address and the second address can correspond to a default gateway.

Some implementations can include a nontransitory computer readable medium having stored thereon software instructions that, when executed by a processor of a wireless controller, cause the processor to perform operations. The operations can include enabling peer network information exchange on a per-network basis between a plurality of switches in a network and advertising a first address and a second address from each switch in the plurality of switches to the other switches. The operations can also include storing, at each switch, the first address and the second address received from the other switches in the plurality of switches. The operations can further include routing, at a first switch, traffic for a second switch when the first switch detects that the traffic can be routed more efficiently without being sent to the second switch.

The first address can be an Internet Protocol address and the second address can be a MAC address. The peer network information exchange can include RSMLT or a standalone default gateway IP address and MAC address.

The operations can also include starting a hold down timer when one of the switches is rebooted and forwarding traffic to a switch associated with the gateway for the traffic for the duration of the hold down timer. The first address and the second address received from the other switches in the plurality of switches as long as the advertising switch is reachable through the network. The network can include a shortest path bridging network. The first address and the second address can correspond to a gateway.

DETAILED DESCRIPTION

In general, when virtual machines (VMs) are moved across datacenters, their default gateway addresses and IP addresses need not change. This can lead to suboptimal paths in the routing of packets as the gateway which had been servicing the routing may now be located somewhere other than where the VM has moved to.

In some implementations, for example, the gateway IP per VLAN is exchanged across all BEBs in an SPBm network. All BEBs where the VLAN is present can add the IP and MAC received from the ISIS LSDB from other BEBs and can install an ARP and MAC Forwarding Table entry, thereby routing for their own IPs as well as the IPs of the VLANs on other BEBs.

This approach can help provide optimal (or near optimal) routing paths when VMs move anywhere in the network without requiring intervention of network administrators to change gateway IPs.

FIG. 1is a diagram of an example network environment100in accordance with at least one implementation. The network100includes four backbone edge bridges (BEBs)102-108. The BEBs are connected in two pairs BEB1(102) and BEB2(104) are connected via an IST link, and BEB3(106) and BEB4(108) are connected via an IST link. The network includes two virtual service networks (VSNs) (110and112). An access switch114connects two computers (118and120) to the network. A second access switch116connects two other computers (122,124) to the network.

Computer1(118) and computer4(124) are connected to VLAN2, which is extended across the SPB network via VSN2(112). Computer2(120) and computer3(122) are connected to VLAN1, which is extended across the SPB network via VSN1(110). In this example, VSN1(110) can have an ISID of 100 and VSN2(112) can have an ISID of 200.

Also, for purposes of this example, the following IP addresses and gateways are assigned. BEB1(102) has an RSMLT IP of 10.0.0.1 for VLAN1(110) and an IP of 20.0.0.1 for VLAN2(112). BEB2(104) has an RSMLT IP of 10.0.0.2 for VLAN1(110) and an IP of 20.0.0.2 for VLAN2(112). BEB3(106) has an RSMLT IP of 10.0.0.3 for VLAN1(110) and an IP of 20.0.0.3 for VLAN2(112). BEB4(108) has an RSMLT IP of 10.0.0.4 for VLAN1(110) and an IP of 20.0.0.4 for VLAN2(112).

Computer1(118) has an IP of 20.0.0.100 and a gateway address of 20.0.0.1. Computer2(120) has an IP of 10.0.0.100 and a gateway address of 10.0.0.1. Computer3(122) has an IP of 10.0.0.200 and a gateway address of 10.0.0.3. Computer4(124) has an IP of 20.0.0.200 and a gateway address of 20.0.0.3.

The BEBs (102-108) can learn the IP and MAC addresses for each other according to the method described below in connection withFIG. 3.

FIG. 2is a diagram of an example network environment200showing a machine that has moved. In particular, Computer2(120) has been moved to connect with access switch2(116).

In conventional networks, packets from Computer2(120) would be forwarded to BEB1because the gateway for computer2(120) would remain as 10.0.0.1. However, in an implementation, because BEB3and BEB4have learned the RSMLT IP and MAC for BEB1, each of BEB3and BEB4can route packets on behalf of BEB1's IP of 10.0.0.1.

While a four BEB topology is shown inFIGS. 1 and 2as an example, it will be appreciated that an implementation can be extended to as many switches (e.g., BEBs) as there are in a network and which have the “RSMLT over SPB” feature enabled.

FIG. 3is a flow chart of an example method for gateway support across SPB networks in accordance with at least one implementation. Processing begins at302, where RSMLT is enabled over an SPB (or SPBm) network on a per-VLAN basis. Processing continues to304.

At304, each BEB (e.g.,102-108) can advertise its respective RSMLT IP and corresponding MAC address in its LSDB using ISIS TLV. For example, BEB1(102) can advertise its RSMLT IP and corresponding MAC and BEB2, BEB3and BEB4will get the information. BEB2does not need to act on the information as BEB2has already received BEB1's information via the IST link. Processing continue to306.

At306, if RSMLT over SPB is enabled on BEB3and BEB4, they will each create an ARP and a MAC FDB record in their respective forwarding tables for BEB1's IP and MAC as routable. Processing continues to308.

At308, other switches (e.g., BEB3and BEB4) can route any packets received with a destination MAC corresponding to a learned RSMLT IP and MAC (e.g., 10.0.0.1 for BEB1).

In addition to the above steps, a hold down timer associated with RSMNLT can be used. For example, if BEB3is rebooted, when BEB2comes back up it will forward packets to the other switches (i.e., it won't route for the other BEBs) for the duration of the hold down timer.

A hold up timer may not apply for the RSMLT IP and MAC received via ISIS. For example, if BEB3were to go down, BEB4can continue to forward packets for BEB1because it already has the RSMLT IP and MAC for BEB1.

Also, if BEB1were to go down or ISIS were disabled on it, then ISIS LSDB on BEB3and BEB4would expire after an expiration duration and BEB3and BEB4will remove the RSMLT IP and MAC corresponding to BEB1.

It will be appreciated that implementations can be extended to non-RSMLT topologies in which local VLAN IP and MAC addresses are advertised to remote BEBs on a per-VLAN basis

FIG. 4is a diagram of an example computer system400in accordance with at least one implementation. The computer400includes a processor402, operating system404, memory406and I/O interface408. The memory406can include a default gateway redundancy support application410and a database412(e.g., for storing information such as RSMLT IP and MAC addresses, or the like).

In operation, the processor402may execute the application410stored in the memory406. The application410can include software instructions that, when executed by the processor, cause the processor to perform operations for default gateway redundancy support across SPB networks in accordance with the present disclosure (e.g., performing one or more of steps302-308).

The application program410can operate in conjunction with the database412and the operating system404.

It will be appreciated that the modules, processes, systems, and sections described above can be implemented in hardware, hardware programmed by software, software instructions stored on a nontransitory computer readable medium or a combination of the above. A system as described above, for example, can include a processor configured to execute a sequence of programmed instructions stored on a nontransitory computer readable medium. For example, the processor can include, but not be limited to, a personal computer, workstation, router, switch or other such computing system that includes a processor, microprocessor, microcontroller device, or is comprised of control logic including integrated circuits such as, for example, an Application Specific Integrated Circuit (ASIC). The instructions can be compiled from source code instructions provided in accordance with a programming language such as Java, C, C++, C#.net, assembly or the like. The instructions can also comprise code and data objects provided in accordance with, for example, the Visual Basic™ language, or another structured or object-oriented programming language. The sequence of programmed instructions, or programmable logic device configuration software, and data associated therewith can be stored in a nontransitory computer-readable medium such as a computer memory or storage device which may be any suitable memory apparatus, such as, but not limited to ROM, PROM, EEPROM, RAM, flash memory, disk drive and the like.

Embodiments of the method and system (or their sub-components or modules), may be implemented on a general-purpose computer, a special-purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, a programmed logic circuit such as a PLD, PLA, FPGA, PAL, or the like. In general, any processor capable of implementing the functions or steps described herein can be used to implement embodiments of the method, system, or a computer program product (software program stored on a nontransitory computer readable medium).

Moreover, embodiments of the disclosed method, system, and computer readable media (or computer program product) can be implemented in software executed on a programmed general purpose computer, a special purpose computer, a microprocessor, a network server or switch, or the like.

It is, therefore, apparent that there is provided, in accordance with the various embodiments disclosed herein, methods, systems and computer readable media for default gateway redundancy support across SPB networks.

While the disclosed subject matter has been described in conjunction with a number of embodiments, it is evident that many alternatives, modifications and variations would be, or are, apparent to those of ordinary skill in the applicable arts. Accordingly, Applicants intend to embrace all such alternatives, modifications, equivalents and variations that are within the spirit and scope of the disclosed subject matter.