1. Field
The present disclosure relates to network management. More specifically, the present disclosure relates to a method and system for efficiently detecting an edge loop in a layer-2 network.
2. Related Art
The growth of the Internet has brought with it an increasing demand for bandwidth. As a result, equipment vendors race to build larger and faster switches, each capable of supporting a large number of end devices, to move more traffic efficiently. However, the size of a switch cannot grow infinitely. It is limited by physical space, power consumption, and design complexity, to name a few factors. One way to meet this challenge is to interconnect a number of switches to support a large number of users. Interconnecting such a large number of switches in a layer-3 network requires tedious and complex configurations on a respective switch, typically performed by a network administrator. Such configuration includes assigning an address for a respective interface and configuring routing protocols for the switch. These issues can be solved by interconnecting switches via layer-2.
As layer-2 (e.g., Ethernet) switching technologies continue to evolve, more routing-like functionalities, which have traditionally been the characteristics of layer-3 (e.g., Internet Protocol or IP) networks, are migrating into layer-2. Notably, the recent development of the Transparent Interconnection of Lots of Links (TRILL) protocol allows Ethernet switches to function more like routing devices. TRILL overcomes the inherent inefficiency of the conventional spanning tree protocol, which forces layer-2 switches to be coupled in a logical spanning-tree topology to avoid looping. TRILL allows routing bridges (RBridges) to be coupled in an arbitrary topology without the risk of looping by implementing routing functions in switches and including a hop count in the TRILL header.
While layer-2 connectivity brings many desirable features to a network, some issues remain unsolved for efficient external loop detection.
One embodiment of the present invention provides a switch. The switch includes a local identifier associated with the switch, a receiving interface, a loop detection mechanism, and an interface control mechanism. The receiving interface identifies a loop-detection frame which includes an identifier associated with originating switch of the frame. The loop detection mechanism detects a loop based on a match of the identifier associated with the originating switch and the local identifier. The interface control mechanism is coupled to the loop detection mechanism and precludes, in response to detecting a loop, the receiving interface from forwarding frames corresponding to the loop.
In a variation on this embodiment, the originating switch is a remote switch, wherein the switch and the remote switch are members of an Ethernet fabric switch.
In a variation on this embodiment, the identifier associated with the originating switch identifies an Ethernet fabric switch.
In a variation on this embodiment, the identifier associated with the originating switch is a layer-2 multicast network address.
In a variation on this embodiment, the interface control mechanism also compares a priority value associated with the receiving interface and a priority value associated with an originating interface indicated by the frame.
In a variation on this embodiment, the receiving interface also identifies an originating interface for the frame based on a Transparent Interconnection of Lots of Links (TRILL) routing bridge (RBridge) identifier and an interface identifier.
In a variation on this embodiment, the loop-detection frame also contains an identifier of a virtual local area network (VLAN), and the detected loop is specific to the VLAN.
In a variation on this embodiment, the loop detection mechanism also maintains a counter which indicates a number of times the loop-detection frame has been identified, and the interface control mechanism precludes the receiving interface from forwarding frames corresponding to the loop further in response to a value of the counter exceeding a threshold value.
In a variation on this embodiment, also includes a logical switch management mechanism which maintains a membership in a logical switch, wherein the logical switch is configured to accommodate a plurality of switches and operates as a single logical switch.
The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.
Overview
In embodiments of the present invention, the problem of detecting and breaking external loops in a layer-2 network is solved by enabling a (fabric) switch to identify a loop-detection frame sent from the switch. In a network, networking devices (e.g., switches and routers) are typically coupled to each other based on layer-2 and/or layer-3 protocols. Designing and provisioning a layer-3 network (e.g., an IP network) is complex because a respective layer-3 networking device (e.g., a router) requires individual configurations, such as address assignment for a respective interface in the device, and routing protocol selection and configuration. For a large and dynamic network, in which the network topology often changes due to addition of new networking devices, new links, new services, etc., configuring individual networking devices can be complex and tedious. Consequently, plug-and-play services are difficult to incorporate in such a network. On the other hand, a layer-2 network (e.g., an Ethernet network) can more readily facilitate plug-and-play services. A typical layer-2 switching protocol does not require complex configurations. Because a respective interface on a layer-2 switch has a default layer-2 network address (e.g., a media access control (MAC) address), the interface does not require any address configuration. Furthermore, layer-2 switching does not rewrite the layer-2 header of a packet, resulting in a lighter load on hardware and a better performance.
However, when three or more switches are coupled in a layer-2 network, there can be layer-2 external loops (i.e., loops created by external connectivity of a switch) between these switches. For example, if one or more of these switches are fabric switches, these external loops are created based on how one or more member switches of a fabric switch are coupled to external networking devices and not relevant to internal connectivity of these fabric switches. Typically the layer-2 network can have unicast, multicast, and broadcast frames. A switch transmits a broadcast or multicast frame via multiple interfaces except the receiving interface. In addition, the switch forwards a unicast frame with an unknown destination address via multiple interfaces (referred to as flooding) except the receiving interface, to ensure that the frame reaches the destination. When such a frame reaches a second switch, the second switch repeats the same. If there is a loop in the network, the frame traverses through multiple switches along the loop and eventually returns back to the originating switch. The switch repeats the action again and the frame continues to circulate the network in a loop. This results in a broadcast storm of data traffic in the layer-2 domain.
To solve this problem, a switch can identify a frame received by a local interface to be originated from the switch. If there is a loop in a network, a layer-2 frame eventually returns to the originating switch before a broadcast storm congests the network. If the originating switch can identify the frame, the switch can detect the loop and stop receiving frames from the interface to break the loop by shutting down the receiving interface or putting the interface in a blocking state (i.e., the interface blocks specific frames). In some embodiments, the layer-2 network is a fabric switch, such as an Ethernet fabric switch or a virtual cluster switch (VCS). In an Ethernet fabric switch, any number of switches coupled in an arbitrary topology may logically operate as a single switch. Any new switch may join or leave the fabric switch in “plug-and-play” mode without any manual configuration. In some embodiments, a respective switch in the Ethernet fabric switch is a Transparent Interconnection of Lots of Links (TRILL) routing bridge (RBridge).
In some embodiments, a switch periodically transmits a loop-detection multicast frame for detecting the loop. If the switch is a fabric switch, the frame is sent via the edge interfaces (i.e., interfaces connecting end devices). For any other switches coupled to the (fabric) switch, this frame is a regular multicast frame. Upon receiving this frame, these switches forward the frame via the other interfaces. On the other hand, for the originating switch, or for one of the member switches of the originating fabric switch, the frame is a self-generated loop-detection frame. The originating switch identifies the frame, realizes the existence of a loop, and shuts down the receiving interface or puts the interface in a blocking state. In some embodiments, the loop-detection multicast frame includes a unique pre-defined value that identifies the (fabric) switch. The switch identifies the frame as self-generated by recognizing the unique value in the frame.
Although the present disclosure is presented using examples based on the layer-2 communication protocol, embodiments of the present invention are not limited to layer-2 networks. Embodiments of the present invention are relevant to any networking protocol which requires a loop-free network topology. In this disclosure, the term “layer-2 network” is used in a generic sense, and can refer to any networking layer, sub-layer, or a combination of networking layers below layer-3 (e.g., the network layer in the Internet protocol stack).
The term “RBridge” refers to routing bridges, which are bridges implementing the TRILL protocol as described in IETF Request for Comments (RFC) “Routing Bridges (RBridges): Base Protocol Specification,” available at http://tools.ietf.org/html/rfc6325, which is incorporated by reference herein. Embodiments of the present invention are not limited to application among RBridges. Other types of switches, routers, and forwarders can also be used.
In this disclosure, the term “end device” can refer to a host machine, a conventional layer-2 switch, or any other type of network device. Additionally, an end device can be coupled to other switches or hosts further away from a layer-2 network. An end device can also be an aggregation point for a number of network devices to enter the layer-2 network.
The terms “interface” and “port” are used interchangeably. The term “edge interface” refers to an interface on a fabric switch which exchanges data frames with a network device outside of the fabric switch (i.e., an edge interface is not used for exchanging data frames with another member switch of a fabric switch). In a generic sense, the term “interface” can refer to any interface of a switch, including an “edge interface.” The term “TRILL interface” refers to an interface which sends/receives data frames encapsulated with a TRILL header and outer MAC header.
The term “switch identifier” refers to a group of bits that can be used to identify a switch. If a switch is an RBridge, the switch identifier can be referred to as an “RBridge identifier.” Note that the TRILL standard uses “RBridge ID” to denote a 48-bit intermediate-system-to-intermediate-system (IS-IS) System ID assigned to an RBridge, and “RBridge nickname” to denote a 16-bit value that serves as an abbreviation for the “RBridge ID.” In this disclosure, “switch identifier” is used as a generic term and is not limited to any bit format, and can refer to any format that can identify a switch. The term “RBridge identifier” is also used in a generic sense and is not limited to any bit format, and can refer to “RBridge ID” or “RBridge nickname” or any other format that can identify an RBridge.
The term “frame” refers to a group of bits that can be transported together across a network. “Frame” should not be interpreted as limiting embodiments of the present invention to layer-2 networks. “Frame” can be replaced by other terminologies referring to a group of bits, such as “packet,” “cell,” or “datagram.”
The term “loop” is used in a generic sense, and it can refer to any number of standalone and fabric switches coupled to each other in such a way that at least one of the switches may receive a frame previously originated from the same switch. The term “external loop” refers to a network loop formed based on the external connectivity of a switch. For a fabric switch, an external loop is formed by the edge interfaces. For using in a generic sense, the terms “external loop” and “loop” are used interchangeably. The term “loop breaking” refers to disabling an interface or a link between two switches belonging to a loop in so that the loop does not exist any longer.
The term “Ethernet fabric switch” or “VCS” refers to a number of interconnected physical switches which form a single, scalable logical switch. In a fabric switch, any number of switches can be connected in an arbitrary topology and the entire group of switches function together as one single, logical switch.
This feature makes it possible to use many smaller, inexpensive switches to construct a large fabric switch, which can be viewed as a single logical switch externally.
Network Architecture
During operation, member switch 112 of fabric switch 102 creates a loop-detection multicast frame 152 containing a unique pre-defined value that identifies fabric switch 102. Switch 112 sends frame 152 via a local edge interface to member switch 122 of fabric switch 104. Upon receiving frame 152, switch 122 examines the unique pre-defined value in the frame and recognizes that the frame has not been originated from fabric switch 104. Because frame 152 is a multicast frame, switch 122 sends the frame via all local edge interfaces and to all other member switches of fabric switch 104. Switch 128 receives frame 152 and forwards the frame via all local edge interfaces. Member switch 134 of fabric switch 106, in turn, receives frame 152, recognizes that the frame has not been originated from fabric switch 106, and sends frame 152 to all other member switches. Switch 132 then receives frame 152 and forwards the frame via all local edge interfaces. Member switch 116 of fabric switch 102 then receives frame 152. Upon receiving the frame, switch 116 recognizes frame 152 as originated from fabric switch 102. Switch 116 can identify frame 152 as originated from fabric switch 102 by identifying the unique pre-defined value in frame 152 associated with fabric switch 102. Once switch 116 identifies the frame, switch 116 recognizes the existence of an external loop for fabric switch 102. Switch 116 then shuts down the interface which has received frame 152 to break the loop.
Note that other member switches 114 and 116 also send loop-detection frames out of their respective edge interfaces, wherein the loop-detection frames contain the same unique pre-defined value associated with fabric switch 102. That is, the predefined value is specific to and uniquely identifies fabric switch 102. Any member switch of fabric switch 102, thereby, can identify the frame to be originated from fabric switch 102. For example, member switch 116 of fabric switch 102 sends loop-detection frame 156 to switch 142. Upon receiving frame 156, switch 142 forwards frame 156 via all local edge interfaces. Subsequently, member switch 114 of fabric switch 102 receives frame 156 and detects a loop. Switch 114 then shuts down the interface which has received frame 156 to break the loop. Switch 142 can also be configured to send a loop-detection frame 182 to fabric switch 102 via switch 114 and subsequently receive the frame back via member switch 116 of fabric switch 102. Upon receiving frame 182, switch 142 can shut down the interface which has received frame 182 to break the loop. Note that switch 142 can also be a fabric switch.
Isolation Prevention
In layer-2 network 100, a respective switch has multiple interfaces coupling to multiple other switches. These interfaces may receive loop-detection frames transmitted by another interface of the switch at the same time. Consequently, the switch may detect a loop at a respective interface and shut down the interfaces. For example, to break a loop, fabric switch 104 in network 100 can shut down the interfaces that couple fabric switch 104 to neighbor fabric switches 102 and 106. Consequently, fabric switch 104 becomes isolated from rest of the network.
During operation, switch 202 sends a loop-detection frame via interface 212. The frame circles network 200 in loop 222 via switches 206, 208, and 204. Switch 202 receives the frame through interface 214. While sending the loop-detection frame via interface 212, switch 202 sends another loop-detection frame via interfaces 214 which circles network 200 in loop 226. Switch 202 receives this frame through interface 216. Similarly, switch 202 sends another loop-detection frame via interfaces 216 which circles network 200 in loop 224 and receives the frame through interface 212. Upon receiving these frames, switch 202 detects a respective loop at interfaces 212, 214, and 216. In response, switch 202 shuts down interfaces 214, 212, and 216, respectively (denoted with a cross). As a result, switch 202 becomes isolated from the rest of the network.
In order to prevent such isolation, in some embodiments, a respective interface can be assigned a configurable unique value, called an interface priority value, as a tie breaker.
In the example in
Note that, this tie-breaking procedure is specific to a respective switch in network 200 and is irrelevant to any other switch. For example, when switch 204 receives a loop-detection frame from switch 202, switch 202 simply forwards the frame without examining the priority value in the frame. Also note that due to erroneous configurations, multiple interfaces of switch 202 can have the same interface priority value. For example, if the priority value of interface 212 is the same as interface 216, interface identifiers of interfaces 212 and 216 can be used as a tie breaker to break loop 224. If switch 202 is a fabric switch, an interface identifier can include a switch identifier of the corresponding member switch and an interface index associated with the interface. In some embodiments, the switch identifier can be a TRILL RBridge identifier. If the switch is a standalone switch, the switch identifier can be the interface index.
In network 200, switches 202, 208, and 206 form loop 224. If a respective switch in loop 224 shuts down the interface that couples to the next switch in loop 224, switch 206 can become decoupled.
During operation, switch 302 sends loop-detection frames 322 and 324 via interfaces 352 and 354, respectively, and receives these frames via interfaces 354 and 352, respectively. Because interface 354 has a higher interface priority value, switch 302 shuts down interface 354 (denoted with a cross). Similarly, switch 304 receives loop-detection frames 332 and 334 via interfaces 364 and 362, and shuts down interface 362 for its higher interface priority value. Switch 306 receives loop-detection frames 342 and 344 via interfaces 372 and 374, and shuts down interface 372 for its higher interface priority value. As a result, a respective switch in network 300 becomes decoupled from its neighbor switches. For example, though switch 302 keeps interface 352 active (denoted with a tick/check mark), the corresponding interface of switch 304, interface 362, is shut down (denoted with a cross). As a result, switch 302 becomes decoupled from switch 304. In this way, a respective switch in network 300 becomes decoupled from its neighbor switches.
Switches in 300 are decoupled because a respective switch in a loop detects the same loop at the same time and shuts down an interface to break the loop. If one of the switches, say switch 302, in network 300 can detect the loop earlier than the other switches, switch 302 can break the loop before switches 304 and 306 can detect the loop and shut down their interfaces. A respective switch in network 300 can be configured with a unique receiving limit. A switch in network 300 detects a loop and shuts down an interface only when the interface receives more than the receiving limit number of self-generated loop-detection frame.
Because switches 304 and 306 have higher RX-limit values, switch 302 reaches the RX-limit value before switches 304 and 306, detects the loop, and shuts down interface 354 to break the loop. In other words, because RX-limit values of switches 302, 304, and 306 are sufficiently different, even when these switches receives simultaneous loop-breaking frames, eventually switch 302 breaks the loop before switches 304 and 306 reach their respective RX-limit value. When the loop is broken, switches 304 and 306 do not receive any more self-generated loop-breaking frame. For example, when switch 302 shuts down interface 354 to break the loop, the link between switches 302 and 306 becomes inactive. As a result, switch 306 cannot forward frames 334 and 344 to switch 302, and switch 302 cannot forward frames 332 and 342 to switch 306. Switches 304 and 306 then do not receive their respective loop-breaking frame any longer and their respective RX-limit is not reached. In this way, RX-limit prevents decoupling of switches in a layer-2 network.
Misconfigured Link Aggregation
An end-device coupled to a fabric switch can be multi-homed (i.e., can be coupled to the fabric switch via multiple links, optionally with multiple member switches). When an end-device is coupled to multiple member switches via multiple links, these links can be aggregated to one virtual trunked link. However, if such a virtual link aggregation is not properly configured, a loop can be formed between the end device and the member switches of the fabric switch.
When configured correctly, switches 406 and 408 can be configured to operate in a special “trunked” mode for end device 430. End device 430 view switches 406 and 408 as a common virtual switch 410. Multi-homed end device 430 is considered to be logically coupled to virtual switch 410 via logical trunked link 420. Also, virtual switch 410 is considered to be logically coupled to both switches 406 and 408, optionally with zero-cost links (also represented by dotted lines). Operation of virtual switch for multi-homed end devices is specified in U.S. patent application Ser. No. 12/725,249, entitled “Redundant Host Connection in a Routed Network,” the disclosure of which is incorporated herein in its entirety.
However, if trunked link 420 and virtual switch 410 are not properly configured, end device 430 and to fabric switch 400 can form an external loop. To detect and break the loop, switches 406 and 408 send loop-detection frames 452 and 454 via their respective interfaces. Upon receiving the frames, end device 430 forwards frames 452 and 454 to switches 408 and 406, respectively. In this example, fabric switch 400 is configured with an RX-limit of 3, and the interfaces on switches 406 and 408 are configured with interface priority values of 4 and 3, respectively. As a result, when switch 406 receives frame 454 for more than 3 times, switch 406 shuts down the receiving interface (i.e., the interface with a lower interface-priority value) and breaks the loop. In this way, loops created due to misconfigured virtual link aggregation is detected and broken.
Loop Detection for VLAN
A switch can send a loop-detection frame for a respective interface of the switch or for a respective virtual local area network (VLAN) the switch is configured for. If the switches in a network are configured for different VLANs, they can form VLAN-specific loops. When a switch sends a loop-detection frame for a respective VLAN, a receiving interface on that switch can put the interface in a blocking state for the VLAN (i.e., can stop receiving frames for that particular VLAN) instead of shutting the interface down. In this way, the interface is not shut down for all VLANs and continues receiving all other frames for the VLANs that may not have a loop.
During operation, member switch 512 of fabric switch 502 creates loop-detection frames 562 and 564 associated with VLAN 552 and 554, respectively, and inserts a unique pre-defined value identifying fabric switch 502 into frames 562 and 564. Switch 512 then sends frames 562 and 564 via link 542. Switch 522 of fabric switch 504 receives frames 562 and 564. Because switch 528 is configured with VLAN 554 and not with VLAN 552, switch 522 forwards only frame 564 to switch 528. Switch 528 then forwards frame 564 to switch 534 of fabric switch 506 via link 544. Upon receiving the frame, switch 534 forwards frame 564 to all other switches in fabric switch 506 that are configured with VLAN 554. Switch 532 receives frame 564 and forwards the frame to switch 516 via link 546.
Upon receiving frame 564, switch 516 recognizes frame 564 to be originated from fabric switch 502 and detects a loop for fabric switch 502. Switch 516 also identifies frame 564 to be associated with VLAN 554 based on a VLAN identifier of frame 564. Switch 516 then puts the receiving interface in a blocking mode for VLAN 554 (denoted by a cross), wherein all frames associated with VLAN 554 are dropped by the receiving interface. In this way, the interface continues to receive and process frames associated with other VLANs, such as VLAN 552, via link 546. Because frame 564 loops back to fabric switch 502, switch 502 detects that fabric switch 502, 504, and 506 are coupled to each other in a loop in VLAN 554. At the same time, because frame 562 does not loop back to fabric switch 502, no loop is detected for VLAN 552.
Loop Detection Process
A respective switch in a network can periodically send a loop-detection frame out of the local interfaces and can detect an external loop upon receiving the frame.
If the frame is originated from the same (fabric) switch (operation 608), the switch compares the interface priority value of the originating interface with the priority value of the receiving interface (operation 610). If the priority value of the receiving interface is lower (operation 612), the switch discards the frame (operation 614). In some embodiments, the switch can discard the frame if the priority value of the receiving interface is higher. If the priority value of the receiving interface is not lower, the switch determines the number of times the frame has been received (operation 616) and checks whether this count number is greater than the RX-limit of the (fabric) switch (operation 618). If not, the switch increments this count number (operation 620). Otherwise, the switch puts the interface in a blocking state for the VLAN (i.e., the switch stops receiving all frames belonging to the VLAN) (operation 630).
Due to erroneous configurations, a plurality of interfaces of a switch can have the same interface priority value. If the priority value of two interfaces of the switch has the same priority value, their respective interface identifiers can be used as a tie breaker for breaking a loop. If the switch is a fabric switch, an interface identifier can include a switch identifier of the corresponding member switch and an interface index associated with the interface. Otherwise, the switch identifier can be the interface index.
The switch first retrieves the receiving interface information (operation 632). Interface information can include an interface priority, an interface index, and optionally, a switch index. The switch also obtains the originating interface information from the received frame (operation 634). The switch then checks whether the interface priority of the receiving interface is lower than the interface priority of the originating interface (operation 636). If not, and if the switch is a member of a fabric switch, the switch checks whether the switch identifier of the local member switch has a higher value than the originating member switch (operation 638). In some embodiments, the fabric switch can be a VCS, and the switch identifier can be an RBridge identifier.
If the local member switch does not have a higher switch identifier value or the switch is not a member of a fabric switch, the switch checks whether an interface index of the receiving interface has a lower value than the originating interface (operation 640). If so, the switch identifies the interface priority of the receiving interface as higher than the originating interface (operation 644). If the interface priority of the receiving interface is lower (operation 636), if the switch identifier of the local member switch is higher (operation 638), or if the interface index of the receiving port is lower (operation 640), the switch identifies the interface priority of the receiving interface as lower than the originating interface (operation 642). Note that if the receiving interface and the originating interface have the same interface priority, switch identifier, and interface index, the receiving interface is the originating interface. This indicates the existence of an external loop via the interface, and the interface should be shut down.
Exemplary Switch System
In some embodiments, switch 700 may maintain a membership in a fabric switch, wherein switch 700 also includes a fabric switch management module 740 and a logical switch 742 representing the fabric switch. Fabric switch management module 740 maintains a configuration database in storage 750 that maintains the configuration state of every switch within the fabric switch. Fabric switch management module 740 maintains the state of logical switch 742, which is used to join other switches. In some embodiments, logical switch 742 can be configured to operate in conjunction with packet processor 710 as a logical Ethernet switch. Under such a scenario, communication interfaces 702 can include inter-switch communication channels for communication within a fabric switch. This inter-switch communication channel can be implemented via a regular communication port and based on any open or proprietary format. Communication interfaces 702 can include one or more TRILL interfaces capable of receiving frames encapsulated in a TRILL header. TRILL management module 744 processes these frames.
During operation, notification module 732 periodically creates a loop-detection frame associated with switch 700. Notification module 732 can include a unique value identifying switch 700 and optionally VLAN information associated with the switch in the frame. Packet processor 710 encapsulates the frame in a layer-2 header (and optionally in a TRILL header, in conjunction with TRILL management module 744) and sends the frame via one of the communication interfaces 702. When switch 700 receives a loop-detection frame, packet processor 710 removes the encapsulations of the received frame. Loop detection module 730 checks whether the frame has been originated from switch 700 by checking the unique value.
RX-limit module 734 checks the number of times a frame originated from switch 700 has been received. If switch 700 is a member of a fabric switch, RX-limit module 734 checks the number of times a frame originated from the same fabric switch has been received. RX-limit module 734 can maintain a counter for this purpose. In some embodiments, RX-limit module 734 maintains the counter for a respective VLAN associated with switch 700. Upon detecting a loop, loop detection module 730 can shut down the receiving interface. Alternatively, loop detection module 730 can put the interface in a blocking state for a VLAN for which a loop has been detected, as described in conjunction with
Note that the above-mentioned modules can be implemented in hardware as well as in software. In one embodiment, these modules can be embodied in computer-executable instructions stored in a memory which is coupled to one or more processors in switch 700. When executed, these instructions cause the processor(s) to perform the aforementioned functions.
In summary, embodiments of the present invention provide a switch, a method and a system for efficiently detecting edge loops in layer-2 networks. In one embodiment, the switch includes a loop detection mechanism and an interface control mechanism. The loop detection mechanism identifies a layer-2 frame, wherein the frame contains a loop identifier, identifying information of a first interface, and a first priority value associated with the first interface. The interface control mechanism blocks a second interface based on a comparison between a second priority value associated with the second interface and the first priority value.
The methods and processes described herein can be embodied as code and/or data, which can be stored in a computer-readable non-transitory storage medium. When a computer system reads and executes the code and/or data stored on the computer-readable non-transitory storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the medium.
The methods and processes described herein can be executed by and/or included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.
The foregoing descriptions of embodiments of the present invention have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit this disclosure. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. The scope of the present invention is defined by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 61/502,792, titled “Edge Loop Detection for Ethernet Fabrics/VCS Network,” by inventors Amit Gupta, Jerry Lei, Chi Chong, Mythilikanth Raman, and Ram Singh, filed 29 Jun. 2011, the disclosure of which is incorporated by reference herein. The present disclosure is related to U.S. patent application Ser. No. 13/087,239, titled “Virtual Cluster Switching,” by inventors Suresh Vobbilisetty and Dilip Chatwani, filed 14 Apr. 2011, the disclosure of which is incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
5390173 | Spinney | Feb 1995 | A |
5802278 | Isfeld | Sep 1998 | A |
5983278 | Chong | Nov 1999 | A |
6041042 | Bussiere | Mar 2000 | A |
6085238 | Yuasa | Jul 2000 | A |
6104696 | Kadambi | Aug 2000 | A |
6185241 | Sun | Feb 2001 | B1 |
6438106 | Pillar | Aug 2002 | B1 |
6542266 | Phillips | Apr 2003 | B1 |
6633761 | Singhal | Oct 2003 | B1 |
6873602 | Ambe | Mar 2005 | B1 |
6975581 | Medina | Dec 2005 | B1 |
6975864 | Singhal | Dec 2005 | B2 |
7016352 | Chow | Mar 2006 | B1 |
7173934 | Lapuh | Feb 2007 | B2 |
7197308 | Singhal | Mar 2007 | B2 |
7206288 | Cometto | Apr 2007 | B2 |
7310664 | Merchant | Dec 2007 | B1 |
7313637 | Tanaka | Dec 2007 | B2 |
7330897 | Baldwin | Feb 2008 | B2 |
7380025 | Riggins | May 2008 | B1 |
7430164 | Bare | Sep 2008 | B2 |
7453888 | Zabihi | Nov 2008 | B2 |
7477894 | Sinha | Jan 2009 | B1 |
7480258 | Shuen | Jan 2009 | B1 |
7508757 | Ge | Mar 2009 | B2 |
7558195 | Kuo | Jul 2009 | B1 |
7558273 | Grosser, Jr. | Jul 2009 | B1 |
7571447 | Ally | Aug 2009 | B2 |
7599901 | Mital | Oct 2009 | B2 |
7688960 | Aubuchon | Mar 2010 | B1 |
7690040 | Frattura | Mar 2010 | B2 |
7716370 | Devarapalli | May 2010 | B1 |
7729296 | Choudhary | Jun 2010 | B1 |
7787480 | Mehta | Aug 2010 | B1 |
7792920 | Istvan | Sep 2010 | B2 |
7796593 | Ghosh | Sep 2010 | B1 |
7808992 | Homchaudhuri | Oct 2010 | B2 |
7836332 | Hara | Nov 2010 | B2 |
7843907 | Abou-Emara | Nov 2010 | B1 |
7860097 | Lovett | Dec 2010 | B1 |
7898959 | Arad | Mar 2011 | B1 |
7924837 | Shabtay | Apr 2011 | B1 |
7937756 | Kay | May 2011 | B2 |
7949638 | Goodson | May 2011 | B1 |
7957386 | Aggarwal | Jun 2011 | B1 |
8027354 | Portolani | Sep 2011 | B1 |
8054832 | Shukia | Nov 2011 | B1 |
8078704 | Lee | Dec 2011 | B2 |
8102781 | Smith | Jan 2012 | B2 |
8116307 | Thesayi | Feb 2012 | B1 |
8125928 | Mehta | Feb 2012 | B2 |
8134922 | Elangovan | Mar 2012 | B2 |
8155150 | Chung | Apr 2012 | B1 |
8160063 | Maltz | Apr 2012 | B2 |
8160080 | Arad | Apr 2012 | B1 |
8170038 | Belanger | May 2012 | B2 |
8194674 | Pagel | Jun 2012 | B1 |
8195774 | Lambeth | Jun 2012 | B2 |
8213313 | Doiron | Jul 2012 | B1 |
8213336 | Smith | Jul 2012 | B2 |
8230069 | Korupolu | Jul 2012 | B2 |
8239960 | Frattura | Aug 2012 | B2 |
8249069 | Raman | Aug 2012 | B2 |
8270401 | Barnes | Sep 2012 | B1 |
8295291 | Ramanathan | Oct 2012 | B1 |
8301686 | Appajodu | Oct 2012 | B1 |
8351352 | Eastlake, III | Jan 2013 | B1 |
8369347 | Xiong | Feb 2013 | B2 |
8392496 | Linden | Mar 2013 | B2 |
8462774 | Page | Jun 2013 | B2 |
8520595 | Yadav | Aug 2013 | B2 |
8599850 | Jha | Dec 2013 | B2 |
20020021701 | Lavian | Feb 2002 | A1 |
20020091795 | Yip | Jul 2002 | A1 |
20030041085 | Sato | Feb 2003 | A1 |
20030123393 | Feuerstraeter | Jul 2003 | A1 |
20030174706 | Shankar | Sep 2003 | A1 |
20030189905 | Lee | Oct 2003 | A1 |
20040001433 | Gram | Jan 2004 | A1 |
20040010600 | Baldwin | Jan 2004 | A1 |
20040117508 | Shimizu | Jun 2004 | A1 |
20040120326 | Yoon | Jun 2004 | A1 |
20040165595 | Holmgren | Aug 2004 | A1 |
20040213232 | Regan | Oct 2004 | A1 |
20050007951 | Lapuh | Jan 2005 | A1 |
20050044199 | Shiga | Feb 2005 | A1 |
20050094568 | Judd | May 2005 | A1 |
20050094630 | Valdevit | May 2005 | A1 |
20050122979 | Gross | Jun 2005 | A1 |
20050169188 | Cometto | Aug 2005 | A1 |
20050195813 | Ambe | Sep 2005 | A1 |
20050213561 | Yao | Sep 2005 | A1 |
20050265356 | Kawarai | Dec 2005 | A1 |
20050278565 | Frattura | Dec 2005 | A1 |
20060002370 | Rabie et al. | Jan 2006 | A1 |
20060018302 | Ivaldi | Jan 2006 | A1 |
20060059163 | Frattura | Mar 2006 | A1 |
20060062187 | Rune | Mar 2006 | A1 |
20060072550 | Davis | Apr 2006 | A1 |
20060083254 | Ge | Apr 2006 | A1 |
20060184937 | Abels | Aug 2006 | A1 |
20060221960 | Borgione | Oct 2006 | A1 |
20060235995 | Bhatia | Oct 2006 | A1 |
20060242311 | Mai | Oct 2006 | A1 |
20060251067 | Desanti | Nov 2006 | A1 |
20060256767 | Suzuki | Nov 2006 | A1 |
20060265515 | Shiga | Nov 2006 | A1 |
20060285499 | Tzeng | Dec 2006 | A1 |
20070036178 | Hares | Feb 2007 | A1 |
20070097968 | Du | May 2007 | A1 |
20070116224 | Burke | May 2007 | A1 |
20070177597 | Ju | Aug 2007 | A1 |
20070274234 | Kubota | Nov 2007 | A1 |
20070289017 | Copeland, III | Dec 2007 | A1 |
20080052487 | Akahane | Feb 2008 | A1 |
20080065760 | Damm | Mar 2008 | A1 |
20080080517 | Roy | Apr 2008 | A1 |
20080101386 | Gray | May 2008 | A1 |
20080133760 | Berkvens et al. | Jun 2008 | A1 |
20080159277 | Vobbilisetty | Jul 2008 | A1 |
20080172492 | Raghunath | Jul 2008 | A1 |
20080181196 | Regan | Jul 2008 | A1 |
20080186981 | Seto | Aug 2008 | A1 |
20080205377 | Chao | Aug 2008 | A1 |
20080219172 | Mohan | Sep 2008 | A1 |
20080225853 | Melman | Sep 2008 | A1 |
20080240129 | Elmeleegy | Oct 2008 | A1 |
20080267179 | Lavigne | Oct 2008 | A1 |
20080285555 | Ogasahara | Nov 2008 | A1 |
20080298248 | Roeck | Dec 2008 | A1 |
20090037607 | Farinacci | Feb 2009 | A1 |
20090044270 | Shelly | Feb 2009 | A1 |
20090067422 | Poppe | Mar 2009 | A1 |
20090079560 | Fries | Mar 2009 | A1 |
20090080345 | Gray | Mar 2009 | A1 |
20090083445 | Ganga | Mar 2009 | A1 |
20090092042 | Yuhara | Apr 2009 | A1 |
20090106405 | Mazarick | Apr 2009 | A1 |
20090116381 | Kanda | May 2009 | A1 |
20090138752 | Graham | May 2009 | A1 |
20090199177 | Edwards | Aug 2009 | A1 |
20090204965 | Tanaka | Aug 2009 | A1 |
20090222879 | Kostal | Sep 2009 | A1 |
20090245137 | Hares | Oct 2009 | A1 |
20090245242 | Carlson | Oct 2009 | A1 |
20090260083 | Szeto | Oct 2009 | A1 |
20090323708 | Ihle | Dec 2009 | A1 |
20090327392 | Tripathi | Dec 2009 | A1 |
20090327462 | Adams | Dec 2009 | A1 |
20100054260 | Pandey | Mar 2010 | A1 |
20100061269 | Banerjee | Mar 2010 | A1 |
20100074175 | Banks | Mar 2010 | A1 |
20100097941 | Carlson | Apr 2010 | A1 |
20100103813 | Allan | Apr 2010 | A1 |
20100103939 | Carlson | Apr 2010 | A1 |
20100131636 | Suri | May 2010 | A1 |
20100158024 | Sajassi | Jun 2010 | A1 |
20100165877 | Shukia | Jul 2010 | A1 |
20100165995 | Mehta | Jul 2010 | A1 |
20100169467 | Shukia | Jul 2010 | A1 |
20100169948 | Budko | Jul 2010 | A1 |
20100226381 | Mehta | Sep 2010 | A1 |
20100246388 | Gupta | Sep 2010 | A1 |
20100257263 | Casado | Oct 2010 | A1 |
20100271960 | Krygowski | Oct 2010 | A1 |
20100281106 | Ashwood-Smith | Nov 2010 | A1 |
20100284418 | Gray | Nov 2010 | A1 |
20100287262 | Elzur | Nov 2010 | A1 |
20100287548 | Zhou | Nov 2010 | A1 |
20100290473 | Enduri | Nov 2010 | A1 |
20100303071 | Kotalwar | Dec 2010 | A1 |
20100303075 | Tripathi | Dec 2010 | A1 |
20100303083 | Belanger | Dec 2010 | A1 |
20100309820 | Rajagopalan | Dec 2010 | A1 |
20110019678 | Mehta | Jan 2011 | A1 |
20110035498 | Shah | Feb 2011 | A1 |
20110044339 | Kotalwar | Feb 2011 | A1 |
20110064086 | Xiong | Mar 2011 | A1 |
20110072208 | Gulati | Mar 2011 | A1 |
20110085560 | Chawla | Apr 2011 | A1 |
20110085563 | Kotha | Apr 2011 | A1 |
20110134802 | Rajagopalan | Jun 2011 | A1 |
20110134925 | Safrai | Jun 2011 | A1 |
20110142053 | Van Der Merwe | Jun 2011 | A1 |
20110142062 | Wang | Jun 2011 | A1 |
20110161695 | Okita | Jun 2011 | A1 |
20110194403 | Sajassi | Aug 2011 | A1 |
20110194563 | Shen | Aug 2011 | A1 |
20110228780 | Ashwood-Smith | Sep 2011 | A1 |
20110231574 | Saunderson | Sep 2011 | A1 |
20110235523 | Jha | Sep 2011 | A1 |
20110243133 | Villait | Oct 2011 | A9 |
20110243136 | Raman | Oct 2011 | A1 |
20110246669 | Kanada | Oct 2011 | A1 |
20110255538 | Srinivasan | Oct 2011 | A1 |
20110255540 | Mizrahi | Oct 2011 | A1 |
20110261828 | Smith | Oct 2011 | A1 |
20110268120 | Vobbilisetty | Nov 2011 | A1 |
20110274114 | Dhar | Nov 2011 | A1 |
20110286457 | Ee | Nov 2011 | A1 |
20110296052 | Guo | Dec 2011 | A1 |
20110299391 | Vobbilisetty | Dec 2011 | A1 |
20110299414 | Yu | Dec 2011 | A1 |
20110299527 | Yu | Dec 2011 | A1 |
20110299528 | Yu | Dec 2011 | A1 |
20110299531 | Yu | Dec 2011 | A1 |
20110299532 | Yu | Dec 2011 | A1 |
20110299533 | Yu | Dec 2011 | A1 |
20110299536 | Cheng | Dec 2011 | A1 |
20120011240 | Hara | Jan 2012 | A1 |
20120014261 | Salam | Jan 2012 | A1 |
20120014387 | Dunbar | Jan 2012 | A1 |
20120027017 | Rai | Feb 2012 | A1 |
20120033663 | Guichard | Feb 2012 | A1 |
20120033665 | Silva | Feb 2012 | A1 |
20120099602 | Nagapudi | Apr 2012 | A1 |
20120106339 | Mishra | May 2012 | A1 |
20120131097 | Baykal | May 2012 | A1 |
20120131289 | Taguchi | May 2012 | A1 |
20120163164 | Terry | Jun 2012 | A1 |
20120177039 | Berman | Jul 2012 | A1 |
20120243539 | Keesara | Sep 2012 | A1 |
20120294192 | Masood | Nov 2012 | A1 |
20120320800 | Kamble | Dec 2012 | A1 |
20130034015 | Jaiswal | Feb 2013 | A1 |
20130067466 | Combs | Mar 2013 | A1 |
20130259037 | Natarajan | Oct 2013 | A1 |
20140105034 | Sun | Apr 2014 | A1 |
Number | Date | Country |
---|---|---|
102801599 | Nov 2012 | CN |
1916807 | Apr 2008 | EP |
2001167 | Dec 2008 | EP |
2010111142 | Sep 2010 | WO |
Entry |
---|
“Switched Virtual Internetworking moved beyond bridges and routers”, 8178 Data Communications 23(Sep. 1994), No. 12, New York. |
S. Night et al., “Virtual Router Redundancy Protocol”, Network Working Group, XP-002135272, Apr. 1998. |
Eastlake 3rd., Donald et al., “RBridges: TRILL Header Options”, Draft-ietf-trill-rbridge-options-00.txt, Dec. 24, 2009. |
J. Touch, et al., “Transparent Interconnection of Lots of Links (TRILL): Problem and Applicability Statement”, May 2009. |
Perlman, Radia et al., “RBridge VLAN Mapping”, Draft-ietf-trill-rbridge-vlan-mapping-01.txt, Dec. 4, 2009. |
Brocade Fabric OS (FOS) 6.2 Virtual Fabrics Feature Frequently Asked Questions. |
Perlman, Radia “Challenges and Opportunities in the Design of TRILL: a Routed layer 2 Technology”, XP-002649647, 2009. |
Nadas, S. et al., “Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6”, Mar. 2010. |
Perlman, Radia et al., “RBridges: Base Protocol Specification”, draft-ietf-trill-rbridge-protocol-16.txt, Mar. 3, 2010. |
Christensen, M. et al., “Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches”, May 2006. |
Lapuh, Roger et al., “Split Multi-link Trunking (SMLT)”, Oct. 2002. |
Lapuh, Roger et al., “Split Multi-link Trunking (SMLT) draft-lapuh-network-smlt-08”, 2008. |
Louati, Wajdi et al., “Network-Based Virtual Personal Overlay Networks Using Programmable Virtual Routers”, 2005. |
Knight, Paul et al., “Network based IP VPN Architecture using Virtual Routers”, May 2003. |
Kreeger, L. et al. “Network Virtualization Overlay Control Protocol Requirements draft-kreeger-nvo3-overlay-cp-00”, Aug. 2, 2012. |
An Introduction to Brocade VCS Fabric Technology, Dec. 3, 2012. |
Knight, Paul et al. “Layer 2 and 3 Virtual Private Networks: Taxonomy, Technology, and Standardization Efforts”, 2004. |
Narten, T. et al. “Problem Statement: Overlays for Network Virtualization draft-narten-nvo3-overlay-problem-statement-01”, Oct. 31, 2011. |
The Effortless Network: HyperEdge Technology for the Campus LAN, 2012. |
FastIron and Turbulron 24x Configuration Guide, 2010. |
FastIron Configuration Guide, Supporting IronWare Software Release 07.0.00, 2009. |
Foundary FastIron Configuration Guide, Software Release FSX 04.2.00b, Software Release FWS 04.3.00, Software Release FGS 05.0.00a, 2008. |
Brocade Unveils “The Effortless Network”, 2009. |
Office Action for U.S. Appl. No. 12/725,249, filed Mar. 16, 2010, dated Sep. 12, 2012. |
Office Action for U.S. Appl. No. 12/725,249, filed Mar. 16, 2010, dated Apr. 26, 2013. |
Office Action for U.S. Appl. No. 13/087,239, filed Apr. 14, 2011, dated Dec. 5, 2012. |
Office Action for U.S. Appl. No. 13/087,239, filed Apr. 14, 2011, dated May 22, 2013. |
Office Action for U.S. Appl. No. 13/098,490, filed May 2, 2011, dated Dec. 21, 2012. |
Office Action for U.S. Appl. No. 13/098,490, filed May 2, 2011, dated Jul. 9, 2013. |
Office Action for U.S. Appl. No. 13/092,724, filed Apr. 22, 2011, dated May 2, 2013. |
Office Action for U.S. Appl. No. 13/092,724, filed Apr. 22, 2011, dated Jul. 16, 2013. |
Office Action for U.S. Appl. No. 13/092,580, filed Apr. 22, 2011, dated Jun. 10, 2013. |
Office Action for U.S. Appl. No. 13/042,259, filed Mar. 7, 2011, dated Mar. 18, 2013. |
Office Action for U.S. Appl. No. 13/092,460, filed Apr. 22, 2011, dated Jun. 21, 2013. |
Office Action for U.S. Appl. No. 13/042,259, filed Mar. 7, 2011, dated Jul. 31, 2013. |
Office Action for U.S. Appl. No. 13/092,701, filed Apr. 22, 2011, dated Jan. 28, 2013. |
Office Action for U.S. Appl. No. 13/092,701, filed Apr. 22, 2011, dated Jul. 3, 2013. |
Office Action for U.S. Appl. No. 13/092,752, filed Apr. 22, 2011, dated Feb. 5, 2013. |
Office Action for U.S. Appl. No. 13/092,752, filed Apr. 22, 2011, dated Jul. 18, 2013. |
Office Action for U.S. Appl. No. 12/950,974, filed Nov. 19, 2010, dated Dec. 20, 2012. |
Office Action for U.S. Appl. No. 12/950,974, filed Nov. 19, 2010, dated May 24, 2012. |
Office Action for U.S. Appl. No. 13/092,877, filed Apr. 22, 2011, dated Mar. 4, 2013. |
Office Action for U.S. Appl. No. 13/092,877, filed Apr. 22, 2011, dated Sep. 5, 2013. |
Office Action for U.S. Appl. No. 12/950,968, filed Nov. 19, 2010, dated Jun. 7, 2012. |
Office Action for U.S. Appl. No. 12/950,968, filed Nov. 19, 2010, dated Jan. 4, 2013. |
Office Action for U.S. Appl. No. 13/092,864, filed Apr. 22, 2011, dated Sep. 19, 2012. |
Office Action for U.S. Appl. No. 13/098,360, filed Apr. 29, 2011, dated May 31, 2013. |
Office Action for U.S. Appl. No. 13/044,326, filed Mar. 9, 2011, dated Oct. 2, 2013. |
Office Action for U.S. Appl. No. 13/030,806, filed Feb. 18, 2011, dated Dec. 3, 2012. |
Office Action for U.S. Appl. No. 13/030,806, filed Feb. 18, 2011, dated Jun. 11, 2013. |
Office Action for U.S. Appl. No. 13/030,688, filed Feb. 18, 2011, dated Apr. 25, 2013. |
Office Action for U.S. Appl. No. 13/044,301, filed Mar. 9, 2011, dated Jun. 11, 2013. |
Office Action for U.S. Appl. No. 13/044,301, filed Mar. 9, 2011, dated Feb. 22, 2013. |
Office Action for U.S. Appl. No. 13/050,102, filed Mar. 17, 2011, dated Oct. 26, 2012. |
Office Action for U.S. Appl. No. 13/050,102, filed Mar. 17, 2011, dated May 16, 2013. |
Office Action for U.S. Appl. No. 13/184,526, filed Jul. 16, 2011, dated Jan. 28, 2013. |
Office Action for U.S. Appl. No. 13/184,526, filed May 22, 2013, dated May 22, 2013. |
Office Action for U.S. Appl. No. 13/092,873, filed Apr. 22, 2011, dated Jun. 19, 2013. |
Office Action for U.S. Appl. No. 13/365,993, filed Feb. 3, 2012, dated Jul. 23, 2013. |
Office Action for U.S. Appl. No. 13/365,808, filed Feb. 3, 2012, dated Jul. 18, 2013. |
Office Action for U.S. Appl. No. 13/312,903, filed Dec. 6, 2011, dated Jun. 13, 2013. |
Office Action for U.S. Appl. No. 13/598,204, filed Aug. 29, 2012, dated Feb. 20, 2014. |
Office Action for U.S. Appl. No. 13/533,843, filed Jun. 26, 2012, dated Oct. 21, 2013. |
Office Action for U.S. Appl. No. 13/351,513, filed Jan. 17, 2012, dated Feb. 28, 2014. |
Office Action for U.S. Appl. No. 13/425,238, filed Mar. 20, 2012, dated Mar. 6, 2014. |
Office Action for U.S. Appl. No. 13/312,903, filed Dec. 6, 2011, dated Nov. 12, 2013. |
Office Action for U.S. Appl. No. 13/092,873, filed Apr. 22, 2011, dated Nov. 29, 2013. |
Office Action for U.S. Appl. No. 13/194,526, filed Jul. 16, 2011, dated Dec. 2, 2013. |
Office Action for U.S. Appl. No. 13/092,460, filed Apr. 22, 2011, dated Mar. 14, 2014. |
Office Action for U.S. Appl. No. 13/042,259, filed Mar. 7, 2011, dated Jan. 16, 2014. |
Office Action for U.S. Appl. No. 13/092,580, filed Apr. 22, 2011, dated Jan. 10, 2014. |
Office Action for U.S. Appl. No. 13/092,877, filed Apr. 22, 2011, dated Jan. 6, 2014. |
“Switched Virtual Internetworking moves beyond bridges and routers”, 23 (Sep. 1994), No. 12, New York, US. |
Knight, S. et al. “Virtual Router Redundancy Protocol”, Apr. 1998, XP-002135272. |
Eastlake, Donald et al., “RBridges: TRILL Header Options”, Dec. 2009. |
Touch, J. et al., “Transparent Interconnection of Lots of Links (TRILL): Problem and Applicability Statement”, May 2009. |
Perlman, Radia et al., “RBridge VLAN Mapping”, Dec. 2009. |
“Brocade Fabric OS (FOS) 6.2 Virtual Fabrics Feature Frequently Asked Questions”. |
Perlman, Radia et al., “RBridges: Base Protocol Specification”, Mar. 2010. |
Zhai F. Hu et al. “RBridge: Pseudo-Nickname; draft-hu-trill-pseudonode-nickname-02.txt”, May 15, 2012. |
Huang, Nen-Fu et al., “An Effective Spanning Tree Algorithm for a Bridged LAN”, Mar. 16, 1992. |
Office Action dated Jun. 6, 2014, U.S. Appl. No. 13/669,357, filed Nov. 5, 2012. |
Office Action dated Feb. 20, 2014, U.S. Appl. No. 13/598,204, filed Aug. 29, 2012. |
Office Action dated May 14, 2014, U.S. Appl. No. 13/533,843, filed Jun. 26, 2012. |
Office Action dated May 9, 2014, U.S. Appl. No. 13/484,072, filed May 30, 2012. |
Office Action dated Feb. 28, 2014, U.S. Appl. No. 13/351,513, filed Jan. 17, 2012. |
Office Action dated Jun. 18, 2014, U.S. Appl. No. 13/440,861, filed Apr. 5, 2012. |
Office Action dated Mar. 6, 2014, U.S. Appl. No. 13/425,238, filed Mar. 20, 2012. |
Office Action dated Apr. 22, 2014, U.S. Appl. No. 13/030,806, filed Feb. 18, 2011. |
Office Action dated Jun. 20, 2014, U.S. Appl. No. 13/092,877, filed Apr. 22, 2011. |
Office Action dated Apr. 9, 2014, U.S. Appl. No. 13/092,752, filed Apr. 22, 2011. |
Office Action dated Mar. 26, 2014, U.S. Appl. No. 13/092,701, filed Apr. 22, 2011. |
Office Action dated Mar. 14, 2014, U.S. Appl. No. 13/092,460, filed Apr. 22, 2011. |
Office Action dated Apr. 9, 2014, U.S. Appl. No. 13/092,724, filed Apr. 22, 2011. |
Number | Date | Country | |
---|---|---|---|
20130003601 A1 | Jan 2013 | US |
Number | Date | Country | |
---|---|---|---|
61502792 | Jun 2011 | US |