US20120044934A1 - Method and apparatus for routing between fibre channel fabrics - Google Patents
Method and apparatus for routing between fibre channel fabrics Download PDFInfo
- Publication number
- US20120044934A1 US20120044934A1 US13/284,782 US201113284782A US2012044934A1 US 20120044934 A1 US20120044934 A1 US 20120044934A1 US 201113284782 A US201113284782 A US 201113284782A US 2012044934 A1 US2012044934 A1 US 2012044934A1
- Authority
- US
- United States
- Prior art keywords
- fabric
- switch
- fibre channel
- interfabric
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/433—Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
Definitions
- the invention relates to a method and apparatus for receiving and transmitting data in a network, and more particularly, to a method for receiving and transmitting data between separate Fibre Channel fabrics.
- SANs storage area networks
- the interconnection network is very high performance to allow each of the servers to access each of the desired storage units without significant performance penalties.
- the use of SANs allows a more optimal use of the available storage capacity than would otherwise be the case if the storage capacity was directly attached to the particular hosts.
- the preferred interconnection network for SANs is Fibre Channel. This is a high speed link system according to a series of ANSI standards. In a Fibre Channel network a series of fabrics or inter-switch connections are developed. Hosts are connected to the fabric, as are the storage units. Then the interconnected switches in the fabric provide a path or route between the host and the storage unit.
- Fibre Channel Fibre Channel
- Methods and devices according to the present invention provide an interfabric link between the two separate Fibre Channel fabrics so that devices in one fabric can communicate with devices in another fabric without requiring the merger of the two fabrics.
- two fabrics with more than a combined total of 239 domains can be created and devices can still communicate.
- An interfabric switch according to the present invention is connected and linked to each of the two separate fabrics. The interfabric switch then performs a conversion or a translation of device addresses in each fabric so that they are accessible to the other fabric. For example, if a host is connected to fabric A and a storage unit is connected to fabric B, the interfabric switch according to the present invention provides an effective address in fabric A for the storage unit and additionally an effective address for the host unit in fabric B. The interfabric switch then allows a link to be developed between the fabrics and transfers the data packets with the translated addresses over this link. Thus the host and storage unit can communicate as though they were in the same fabric and yet the two particular devices are in separate and distinct fabrics.
- This translation is preferably done using public to private and then private to public loop address translations. Using this technique the address translation can be done at full wire speed, after initial setup, so that performance of the network is not hindered by the interfabric switch.
- the external ports of the interfabric switch are configured as E_ports.
- a series of internal ports in each interfabric switch are joined together, with the interfabric switch then having a series of virtual or logical switches.
- connections from each of the two particular fabrics are provided to a different virtual switch.
- the internal ports forming the virtual switches are then interconnected using private loops.
- the use of the private loop in the internal connection is enabled by the presence of translation logic which converts fabric addresses to loop addresses and back so that loop and fabric devices can communicate. Because each port can do this translation and the private loop addressing does not include domain or area information, the change in addresses between the fabrics is simplified.
- the external ports are configured as NL_ports and the connections between the virtual switches are E_ports.
- the private to public and public to private translations are done at the external ports rather than the internal ports as in the prior embodiment.
- the virtual switches in the interfabric switch match domains with their external counterparts so that the virtual switches effectively form their own fabric, connected to the other fabrics by the private loops.
- FIG. 1A is a simplified drawing to illustrate private to public mode address translation.
- FIG. 1B is a diagrammatic form of the system of FIG. 1A , indicating the particular device addresses to further illustrate the translation.
- FIG. 2 is a drawing of a network with an interfabric switch according to the present invention interconnecting four separate fabrics.
- FIG. 3 indicates the use of two interfabric switches according to the present invention between two independent fabrics.
- FIG. 4 illustrates the use of two interfabric switches according to the present invention to connect three fabrics.
- FIG. 5 is a drawing illustrating the virtual devices present in an interfabric switch according to the present invention when connecting two independent fabrics.
- FIG. 6 is a diagram indicating the various devices, switches and interfabric switch, including device addresses, according to the present invention to allow ease of explanation.
- FIG. 7 is an alternative view showing a simplified version of the address translations.
- FIG. 8 is a diagram indicating one possible connection of four switches in a fabric to an interfabric switch according to the present invention.
- FIGS. 9A , 9 B, 9 C and 9 D are various drawings indicating the interconnection of an interfabric switch according to the present invention with various relations of switches in a fabric.
- FIG. 10 is a block diagram of an interfabric switch according to the present invention.
- FIG. 11 is a drawing indicating the use of World Wide Names of various devices connected to fabrics which are connected by an interfabric switch according to the present invention.
- FIG. 12 provides a block diagram of various software modules and related hardware modules in an interfabric switch according to the present invention.
- FIG. 13 illustrates an alternative software module breakdown of an interfabric switch according to the present invention.
- FIG. 14 illustrates various software layers present in an interfabric switch according to the present invention.
- FIG. 15 is a diagram showing address flow and translation for an alternate embodiment when the interfabric switch ports are connected as NL_ports.
- FIG. 16 is a diagram showing switch connections for an additional alternate embodiment.
- FIG. 1A illustrates a host device 100 connected to a switch 102 , which is in turn connected to a storage unit 104 .
- the host 100 includes an N_port 106 which is connected over a Fibre Channel link 108 to an F_port no in the switch 102 .
- the storage unit 104 includes an NL_port 112 which is connected by a loop 114 to an FL_port 116 in the switch 102 .
- the switch 102 would include an apparatus for translating between the public and private devices in the host 100 and storage unit 104 .
- One preferred method for doing this is shown in U.S. Pat. No. 6,401,128 entitled “System and Method for Sending and Receiving Frames Between a Public Device and a Private Device,” which is hereby incorporated by reference.
- the switch 102 includes various tables to do public to private and private to public address conversions.
- the switch 102 develops a phantom loop private address for the public device and a phantom public address for the private device and maps the addresses between the public and private spaces. This is shown in more detail in FIG. 1B and in the patent.
- the switch 102 has a domain of 01. Assuming that port 110 is port 1 of the switch 102 , the address of port 110 is 010100 in the Fibre Channel addressing technique. Then the host 100 address is 010101. Similarly, port 116 is configured as an FL_port. Assuming that port 116 is the port five of the switch 102 , then its address is 010500.
- the storage unit 104 has an address on the loop 114 connected to the port 116 and for purposes of this explanation it is considered to have an address EF. To allow this private device storage unit 104 to be visible by the host 100 the port 116 then develops a public address for the storage unit 104 of 0105EF. Thus the host 100 can address the storage unit 104 by using this as a destination address.
- the host 100 appears as an addressable device to the storage unit 104 on the private loop 114 .
- the storage unit 104 would address the phantom unit of the host 100 by using an address of 02 on the loop 114 .
- the FL_port 116 would intercept this communication addressed to an address of 02 and convert that address to 010101 indicating the full fabric address of the host 100 .
- This address and the similarly converted storage unit 104 address of 0105EF would be substituted in the particular packet and then the packet would be provided to the port no for transmission to the host 100 .
- the address 0105EF is translated to the loop address EF and the address 010101 is translated to loop address 02, so that the storage unit 104 can properly receive the frame.
- FIG. 2 illustrates an interfabric switch 120 according to the present invention, interconnected between four independent fabrics 122 , 124 , 126 and 128 .
- the fabrics 122 - 128 are either fabrics that are natively understood by the interfabric switch 120 or are operating in an interoperability mode.
- FIG. 3 An alternative embodiment is shown in FIG. 3 where interfabric switches 120 A and 120 B are connected between fabrics 122 and 124 .
- the switches 120 A and 120 B are not operating in a redundant mode to simplify programming of the switches 120 A and 120 B.
- they could be operating in a redundant manner, with a link between the switches 120 A and 120 B to allow coordinating communications.
- FIG. 4 illustrates an additional embodiment with an interfabric switch 120 A interconnected between fabric 122 and fabric 124 and an interfabric switch 120 B interconnected between fabric 124 and fabric 126 .
- devices in fabric C are not presented to interfabric switch 120 A but instead are presented only to devices in fabric 124 to simplify programming.
- such extended operation can be included.
- FIG. 5 is a simple illustration of operation according to the present invention.
- the interfabric switch 120 is connected to fabrics 122 and 124 .
- a host 130 is connected to fabric 122
- a storage device 132 is connected to fabric 124 .
- the interfabric switch 120 presents a virtual switch 134 to the fabric 122 with a virtual storage device 132 ′ connected to the virtual switch 134 .
- the host 130 believes it is addressing the virtual storage device 132 ′.
- the interfabric switch 120 provides a virtual switch 136 to the fabric 124 , with a host 130 ′ connected to the virtual switch 136 .
- the storage device 132 thus communicates with the virtual host 130 ′.
- the interfabric switch 120 provides a translation between the two virtual switches 134 and 136 so that communications actually go from host 130 to device 132 .
- the interfabric switch 120 is connected to a switch 200 , which is representative of the fabric 124 , and to a switch 202 , which is representative of the fabric 122 .
- port 3 208 of the interfabric switch 120 is connected to port 8 210 of the switch 202 , with both of the ports being configured in E_port mode so that the link is an interswitch link.
- port 4 212 of the interfabric switch 120 is connected to a port 9 214 of switch 200 , with both of the ports being configured in an E_port mode.
- the workstation 206 is connected to the switch 202 , and is illustrated connecting to port 1 216 .
- a tape drive unit 204 is connected to port 5 218 of switch 200 . It is presumed that the switch 200 is domain 1 in fabric 122 and switch 200 is domain 2 in fabric 124 .
- the interfabric switch 120 includes virtual switches 134 and 136 .
- the virtual switch 134 is assigned domain 5 in fabric 122
- virtual switch 136 becomes domain 6 in fabric 124 .
- Virtual switches 134 and 136 are connected by ports 220 and 222 , respectively, which are configured as private loop ports so that a loop 224 results.
- the workstation 206 and the tape unit 204 must have phantom addresses on the private loop 224 .
- the address 04 is provided to the tape unit 204 and the address 02 is provided for the workstation 206 .
- the workstation 206 will address the tape drive 204 by providing a destination address of 050104 that is a full public loop address.
- the domain 05 indicates the virtual switch 134 , the port 01 indicating the virtual port in the virtual switch 134 which in actuality is physical port 3 208 .
- the 04 is the phantom public address of the tape 204 as provided by the private loop translation.
- This address of 050104 is converted by the virtual loop port 220 to a loop address of 04.
- This loop address of 04 in turn is translated by virtual loop port 222 to an address of 0205EF, which is the actual address of the tape unit 204 in fabric 124 .
- This address is developed because the tape 204 is connected to port 5 218 of the switch 200 , which is domain 2 , and the tape unit 204 is preferably a public loop device with an actual loop address of EF. This results in an address of 0205EF for the tape unit 204 .
- an address of 060102 is used for the tape unit 204 to address the workstation 206 . This is developed because the virtual switch 136 is in domain 6 and physical port 4 212 is virtual port 1 indicating that it is 060102 in fabric B. Then as the loop address of the workstation 206 on the virtual private loop 224 is 02, this fully presents itself to the tape unit 204 as a public address of 060102. This address of 060102 is converted by the virtual loop port 222 into a loop address of 02. Packets transmit from the virtual loop port 222 to the virtual loop port 220 are then converted from this loop address of 02 to the desired address of 010101 for the workstation. Similar flow occurs for packets from the workstation 206 to the tape unit 204 .
- the interfabric switch 120 is connected to fabric 122 and fabric 124 .
- a host 130 is connected to the fabric 122 and a storage device 132 is connected to fabric 124 .
- the interfabric switch 120 includes a virtual switch 134 and a virtual switch 136 connected by a private loop 224 .
- the virtual switch 134 is assumed to receive a domain 4 and an area or port address of 3 for the loop.
- the virtual switch 134 provides a phantom host 130 ′, with a loop address of 9 while the virtual switch 136 provides a virtual storage device 132 ′ with a loop address of 6.
- the virtual switch 136 is domain 3 and the loop is area or port 6 .
- the host 130 has an address of 020600 by being on domain 2 port 6 and it would address the device 132 by using an address of 040306 to indicate domain 4 , port 3 and loop device 6 .
- the device 132 is in domain 5 and port 1 so that it has an address of 050100.
- the virtual host 130 ′ has an address of 030609 and this is used for addressing purposes by the device 132 .
- the virtual switch 136 converts the 030609 address into a loop address 9 on the loop 224 , which virtual switch 134 then translates to 020600 indicating the host 130 .
- FIGS. 6 and 7 have used a private loop as the means for connecting the virtual switches. This was done to simplify visualization. In fact, any link between the virtual switches which causes the same address translations, such as from 24 bit to 8 bit to 24 bit, can be used. In the preferred embodiment, the links are effectively normal ISLs as between E_ports, except that only private or 8 bit addressing is used on the links, with appropriate 24 bit or public address conversions at each port. Referring to U.S. Pat. No. 6,401,128, this can be done by properly programming the mapping tables and having them active in this essentially private E_port mode. The public to private translation will remove the domain and area bits, which will be provided by the private to public translation in the manner described above. This is preferred because it allows the ports to be trunked to increase through put between the virtual switches. However, if the specific components used do not provide this capability, then private loops can be used as illustrated.
- FIG. 8 is the first of several illustrations of the connections of the interfabric switch 120 to particular switches inside the fabric 122 .
- the interfabric switch 120 is connected to four individual switches 300 , 302 , 304 , and 306 inside the fabric 122 .
- the interfabric switch 120 is thus allowed to connect the devices, which are routed through these four switches 300 - 306 .
- FIGS. 9A , 9 B, 9 C, and 9 D illustrate more detailed connections of the interfabric switch 120 .
- Each of the switches in the preferred embodiment have their ports organized into quads, with the ports in the particular quads capable of being trunked as described in U.S. patent application Ser. No. 09/872,412, entitled “Link Trunking and Measuring Link Latency in Fibre Channel Fabric” by David C. Banks, Kreg A. Martin, Shunjia Yu, Jieming Zhu and Kevan K. Kwong, filed Jun. 1, 2001, which is hereby incorporated by reference.
- FIG. 9A includes a quad 308 which is connected by four trunked links 310 to a quad 312 in a switch 314 in fabric 122 .
- the interfabric switch 120 has its quad 308 connected to quads 312 and 316 in switch 314 .
- the two links between quad 308 and quad 312 are trunked and the two links between quad 308 and 316 are trunked.
- the interfabric switch 120 has its quad 308 connected to quads 312 and 316 in switch 314 and to quads 318 and 320 in switch 322 .
- none of the links can be trunked because they are in different quads.
- FIG. 9D shows a more detailed breakdown of FIG.
- quad 308 of interfabric switch 120 is connected to quad 312 in switch 314 , to quad 318 in switch 322 , to quad 324 in switch 326 and to quad 328 in switch 330 . Accordingly, because these are going to four separate switches none of the links can be trunked.
- FIG. 10 illustrates a block diagram of an interfabric switch 120 according to the preferred embodiment.
- a processor unit 402 which includes a high performance CPU, preferably a PowerPC, and various other peripheral devices including an Ethernet module, is present.
- Receiver/driver circuitry 440 for a serial port is connected to the processor unit 402 , as is a PHY 406 used for an Ethernet connection.
- a flash memory 410 is connected to the processor 402 to provide permanent memory for the operating system and other routines of the interfabric switch 120 , with DRAM 408 also connected to the processor 402 to provide the main memory utilized in the interfabric switch 120 .
- a PCI bus 412 is provided by the processor 402 and to it are connected a series of Fabric Channel miniswitches 414 , 422 , 428 and 434 .
- the Fibre Channel miniswitches 414 , 422 , 428 and 434 are preferably developed as shown in U.S. patent application Ser. No. 10/123,996, entitled, “Fibre Channel Zoning By Device Name In Hardware,” by, Ding-Long Wu, David C. Banks, and Jieming Zhu, filed on Apr. 17, 2002 which is hereby incorporated by reference.
- Each of the miniswitches 414 , 422 , 428 , and 434 are thus effectively 16 port switches, with each miniswitch further broken down into four quads, as previously referenced.
- each of the miniswitches 414 , 422 , 428 , and 434 are connected to a series of serializers 418 , 424 , 430 , and 436 , which are then connected to media units 420 , 426 , 434 , and 438 to present external ports for the interfabric switch 120 .
- the miniswitches 414 , 422 , 428 , and 434 are interconnected.
- four ports on miniswitch 414 are connected to four ports on miniswitch 422
- four ports on miniswitch 414 are connected to four ports on miniswitch 434
- four ports on miniswitch 414 are connected to four ports on miniswitch 428 .
- four ports on miniswitch 422 are connected to four ports on miniswitch 428 and four ports on miniswitch 422 are connected to four ports on miniswitch 434 .
- four ports on miniswitch 428 are connected to four ports on miniswitch 434 .
- this provides a full direct interconnect between any of the four miniswitches 414 , 422 , 428 , and 434 .
- the various ports connected between the various miniswitches are configured to be private loop ports so that the miniswitches 414 , 422 , 428 , and 434 provide the private to public translations as previously described.
- the external ports for the interfabric switch 120 are configured as E_ports in the miniswitches 414 , 422 , 428 , and 434 . It is also noted that each of the groups of four is preferably obtained from a quad in each of the miniswitches.
- an interfabric switch 120 is connected to fabrics 122 and 124 .
- Three devices 450 , 452 and 454 are connected to fabric 122
- devices 456 , 458 , and 460 are connected to fabric 124 .
- each fabric 122 and 124 will provide the interfabric switch 120 with a list of WWNs available for export from the fabric and a list of WWNs desired to be imported into the fabric.
- the interfabric switch 120 then uses these export/import lists to establish the necessary phantom devices on the private loops and the translations done by the virtual switches.
- FIG. 12 illustrates an alternative block diagram of the interfabric switch 120 , which includes a mixture of software and hardware modules. In the embodiment shown in FIG. 12 only two miniswitches are illustrated for simplicity.
- the interfabric switch 120 includes virtual switches 500 and 502 , which are connected to fabrics 122 and 124 , respectively. Virtual switch 500 effectively maps to miniswitch 504 , while virtual switch 502 effectively maps to miniswitch 506 .
- An address translation manager 512 which manages the particular address translations performed in the private to public mappings in the interfabric switch 120 is connected to the virtual switches 500 and 502 . As the name servers executing on each virtual switch detect changes in connected devices in each fabric, the changes are provided to the address translation manager 512 to allow any needed changes in address translations.
- the address translation manger 512 is also connected to a phantom ALPA manager 514 , which maps into the various tables 516 in the miniswitches 504 and 506 which perform the actual address translations in hardware.
- the phantom ALPA manager 514 receives the desired translations from the address translation manager 512 and properly sets up the various tables 516 .
- the phantom ALPA manager 514 also receives any PLOGI events, which are trapped by filters in the system illustrated in Ser. No. 10/123,996.
- the phantom ALPA manager 514 checks with the address translation manager 512 to see if they are relevant to any devices being imported from the other fabric. If so, appropriate steps are taken and the new device is incorporated.
- the address translation manager 512 is connected to an export/import list 518 , which is the list of devices to be exported from and imported into each fabric.
- the address translation manager uses the export/import list in conjunction with information from the name server and the PLOGI trapping by the phantom ALPA manager 514 to determine the actual address translations needed in the interfabric switch 120 .
- FIG. 13 A slightly different view is shown in FIG. 13 , where the interfabric switch 120 is shown with four virtual switches 550 , 552 , 554 , and 556 , which connect to respectively fabrics 558 , 560 , 562 , and 564 .
- Each of the virtual switches 550 , 552 , 554 , and 556 are connected to the address translation manager module 512 , which is connected to the export/import list 518 , which in turn, is connected to an element manager 574 .
- the element manager 574 provides a portion of the management interface in the interfabric switch 120 and is used to load or change the export/import database 518 .
- the dotted lines from the various fabrics 558 , 560 , 562 , and 564 indicate read only access to the element manager 574 for the various devices in the fabrics for identification purposes.
- FIG. 14 illustrates a software layer view of the interfabric switch 120 .
- a CPU 600 is at the lowest layer with an operating system image 602 , preferably the Linux operating system in the preferred embodiment, executing on the CPU.
- a fabric operating system virtualizer module 604 is operating in the operating system image 602 .
- the virtualizer module 504 will make necessary changes to the miniswitch drivers to allow the miniswitches to be partitioned and to other Linux components necessary to allow multiple fabric operating system instances.
- V-FOS virtual fabric operating system
- the virtual fabric operating system is a slightly modified copy of the fabric operating system used in a conventional switch. After the four V-FOSs 508 , 610 , 612 , and 614 are executing, a phantom APLA bridge 606 that operates on top of the fabric OS virtualizer 604 and below the V-FOSs 608 , 610 , 612 , and 614 is loaded and executed.
- the V-FOS 608 , 610 , 612 , and 614 instructions configure the internally connected miniswitch ports as private link ports, either FL_ports for a private loop or private E_ports for the link described above.
- the phantom ALPA bridge 606 then programs the miniswitches as necessary to develop the private connections and the necessary translations, as described above.
- four virtual switch instantiations are present and separated by the phantom ALPA bridge 606 so that there are in actuality four virtual switches executing on the interfabric switch 120 .
- Each of these virtual fabric operating system instantiations 608 , 610 , 612 and 614 thus control their respective miniswitches 616 , 620 , 622 , and 624 and perform normal switch functions, such as name server functions, except that in the preferred embodiment the virtual switches cannot act as the principal switch in a fabric.
- the address translation manager 512 , export/import list 518 and element manager 574 execute at the level of the fabric operating system virtualizer 604 as switch-level tasks.
- the external ports of the interfabric switch 120 are configured in an E_port mode.
- the external ports of an interfabric switch 700 are configured to be NL_ports.
- the mating or connected ports on switches 702 and 704 are configured as FL_ports, while the various other ports on the switches 702 and 704 are configured normally.
- the port of switch 700 is connected to the illustrated workstation 706 and configured in an F_port mode, and the port connected to the tape unit 708 in switch 704 is configured as an FL_port, as the tape unit is connected in loop mode.
- the NL_ports of the interfabric switch 700 are configured as having two addresses, one public and one private.
- the interfabric switch 700 uses the public address to log into the connected fabric and learn the address of the connected FL_port, which it then configures as its own address.
- the FL_port will also detect the private address by probing as described in U.S. Pat. No. 6,353,612, which is hereby incorporated by reference.
- the NL_port will then create a public-private translation for the private device.
- the FL_port will also develop a phantom address in the connected device, which the interfabric switch 700 will determine. This is done for each fabric, so the interfabric switch 700 ends up knowing all the device public-private address translations and has addresses for the connected ports in different domains.
- the interfabric switch 700 then assigns public addresses for each of the phantom devices connected to each port based on the port address.
- the interfabric switch 700 then effectively separates the ports into virtual switches as described above, with the domain of each virtual switch defined by the public port address.
- the virtual switches thus effectively form their own fabric separated from the other fabrics by the loops.
- the virtual switches are connected by E_ports so no address translations are necessary and the public addresses of the phantom devices are used.
- private loops are used to simplify visualization but any link which causes the same public to private to public address translations can be used.
- interfabric switches 802 and 804 are in fabric A and fabric B, respectively. They are connected by an interfabric link (IFL) 806 . Effectively the IFL 806 is an ISL with only private addressing, as discussed with relation to FIGS. 6 , 7 , and 15 .
- Each interfabric switch 802 and 804 has a port, port 2 in both illustrated cases, connected to the link. These ports can be referred to as I_ports for simplicity, but these ports operate as E_ports except they perform the public to private and private to public address translations.
- a host 130 is shown connected to port 1 , an F_port, of interfabric switch 802 , which is illustrated as being domain 3 .
- a storage device 132 is similarly connected to port 1 , an F_port, of interfabric switch 804 , which is illustrated as being domain 4 .
- the address of the host 130 is 030100 and of the storage device 132 is 040100.
- the interfabric switch 804 presents the storage device 132 as a phantom storage device 132 ′ with a private address of 6.
- the interfabric switch 802 presents the host 130 as a phantom host 130 ′ with a private address of 5.
- the interfabric switch 804 translates this private address 5 to a public address of 040205, indicating connection to domain 4 , port 2 , device 5 .
- the interfabric switch 802 translates the private address 6 as 030206 indicating domain 3 , port 2 , device 6 .
- the I_ports must be defined as such at switch setup or initialization for proper operation. Further, messaging must occur between each of the interfabric switches 802 and 804 to confirm that they are connected through I_ports by an IFL. Additionally, each I_port will have to keep track of all allocated private addresses to prevent duplication. Ports not defined as I_ports would be initialized according to normal protocols. The interfabric switches 802 and 804 would then operate as normal switches, routing frames between ports as usual.
- V_FOS is not required as there are no virtual switches, but the export/import list 518 , address translation manager 512 and phantom ALPA manager 514 are still needed.
- This embodiment does have the possible disadvantage that it may be less clear for an administrator to use as it will be more difficult to determine which ports are the I_ports, while in the prior embodiments all the ports will perform the necessary functions.
- certain frames must be captured for operation by the processor on each switch.
- One example is a PLOGI frame so that the import and export tables can be checked and the SID or DID in the header changed if necessary.
- a second example are various SW_ILS frames which include SID and DID values in their payload so that the payload values can be changed. This trapping is done in normal manner, such as hardware trapping as described in Ser. No. 10/123,996.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
An interfabric link between two separate Fibre Channel fabrics so that devices in one fabric can communicate with devices in another fabric without requiring the merger of the two fabrics. The interfabric switch performs a conversion or a translation of device addresses in each fabric so that they are accessible to the other fabric. In a first embodiment the external ports of the interfabric switch are configured as E_ports. A series of internal ports in each interfabric switch are joined together forming a series of virtual or logical switches. In a second embodiment the external ports are configured as NL_ports and the connections between the virtual switches are E_ports. The virtual switches in the interfabric switch match domains with their external counterparts so that the virtual switches effectively form their own fabric.
Description
- This application is a divisional of U.S. application Ser. No. 10/356,392 filed Jan. 31, 2003 entitled “Method and Apparatus for Routing Between Fibre Channel Fabrics,” which is hereby incorporated by reference as though fully set forth herein.
- 1. Field of the Invention
- The invention relates to a method and apparatus for receiving and transmitting data in a network, and more particularly, to a method for receiving and transmitting data between separate Fibre Channel fabrics.
- 2. Description of the Related Art
- As computing power has increased over the years, the need for high performance storage capacity has also increased. To this end, storage area networks (SANs) have been developed. Basically a SAN is an interconnection network between a series of hosts or servers and a series of storage devices. The interconnection network is very high performance to allow each of the servers to access each of the desired storage units without significant performance penalties. The use of SANs allows a more optimal use of the available storage capacity than would otherwise be the case if the storage capacity was directly attached to the particular hosts.
- The preferred interconnection network for SANs is Fibre Channel. This is a high speed link system according to a series of ANSI standards. In a Fibre Channel network a series of fabrics or inter-switch connections are developed. Hosts are connected to the fabric, as are the storage units. Then the interconnected switches in the fabric provide a path or route between the host and the storage unit. Thus the development of SANs has allowed very large increases in cost effective storage capacity.
- However, there are certain problems when developing networks using Fibre Channel switches. One of the problems is that there can only be 239 distinct domains in a Fibre Channel fabric. Further, there are many conditions under which the fabric will segment or break into two fabrics, so that communication between devices on the two fabrics is not possible. For example, segmentation can be caused when certain parameters associated with the particular switches are not set to the proper values. As the number of switches in the fabric grows larger, the chances of segmentation ever increase. In fact, in many cases it is not possible to maintain all of the desired switches in a single fabric. This then hinders configuration of the particular network because certain devices will not be allowed to access other devices because the two fabrics are not connected. Therefore, it is desirable to have a way to connect the two fabrics so that devices can talk across the two fabrics without requiring that the fabrics be merged or allowing the combination of the two fabrics to have a total of more than 239 domains.
- Methods and devices according to the present invention provide an interfabric link between the two separate Fibre Channel fabrics so that devices in one fabric can communicate with devices in another fabric without requiring the merger of the two fabrics. Alternatively, two fabrics with more than a combined total of 239 domains can be created and devices can still communicate. An interfabric switch according to the present invention is connected and linked to each of the two separate fabrics. The interfabric switch then performs a conversion or a translation of device addresses in each fabric so that they are accessible to the other fabric. For example, if a host is connected to fabric A and a storage unit is connected to fabric B, the interfabric switch according to the present invention provides an effective address in fabric A for the storage unit and additionally an effective address for the host unit in fabric B. The interfabric switch then allows a link to be developed between the fabrics and transfers the data packets with the translated addresses over this link. Thus the host and storage unit can communicate as though they were in the same fabric and yet the two particular devices are in separate and distinct fabrics.
- This translation is preferably done using public to private and then private to public loop address translations. Using this technique the address translation can be done at full wire speed, after initial setup, so that performance of the network is not hindered by the interfabric switch.
- Two particular embodiments of the loop translation are illustrated. In a first embodiment the external ports of the interfabric switch are configured as E_ports. A series of internal ports in each interfabric switch are joined together, with the interfabric switch then having a series of virtual or logical switches. In the preferred embodiment connections from each of the two particular fabrics are provided to a different virtual switch. The internal ports forming the virtual switches are then interconnected using private loops. The use of the private loop in the internal connection is enabled by the presence of translation logic which converts fabric addresses to loop addresses and back so that loop and fabric devices can communicate. Because each port can do this translation and the private loop addressing does not include domain or area information, the change in addresses between the fabrics is simplified.
- In a second embodiment the external ports are configured as NL_ports and the connections between the virtual switches are E_ports. Thus the private to public and public to private translations are done at the external ports rather than the internal ports as in the prior embodiment. The virtual switches in the interfabric switch match domains with their external counterparts so that the virtual switches effectively form their own fabric, connected to the other fabrics by the private loops.
-
FIG. 1A is a simplified drawing to illustrate private to public mode address translation. -
FIG. 1B is a diagrammatic form of the system ofFIG. 1A , indicating the particular device addresses to further illustrate the translation. -
FIG. 2 is a drawing of a network with an interfabric switch according to the present invention interconnecting four separate fabrics. -
FIG. 3 indicates the use of two interfabric switches according to the present invention between two independent fabrics. -
FIG. 4 illustrates the use of two interfabric switches according to the present invention to connect three fabrics. -
FIG. 5 is a drawing illustrating the virtual devices present in an interfabric switch according to the present invention when connecting two independent fabrics. -
FIG. 6 is a diagram indicating the various devices, switches and interfabric switch, including device addresses, according to the present invention to allow ease of explanation. -
FIG. 7 is an alternative view showing a simplified version of the address translations. -
FIG. 8 is a diagram indicating one possible connection of four switches in a fabric to an interfabric switch according to the present invention. -
FIGS. 9A , 9B, 9C and 9D are various drawings indicating the interconnection of an interfabric switch according to the present invention with various relations of switches in a fabric. -
FIG. 10 is a block diagram of an interfabric switch according to the present invention. -
FIG. 11 is a drawing indicating the use of World Wide Names of various devices connected to fabrics which are connected by an interfabric switch according to the present invention. -
FIG. 12 provides a block diagram of various software modules and related hardware modules in an interfabric switch according to the present invention. -
FIG. 13 illustrates an alternative software module breakdown of an interfabric switch according to the present invention. -
FIG. 14 illustrates various software layers present in an interfabric switch according to the present invention. -
FIG. 15 is a diagram showing address flow and translation for an alternate embodiment when the interfabric switch ports are connected as NL_ports. -
FIG. 16 is a diagram showing switch connections for an additional alternate embodiment. -
FIG. 1A illustrates ahost device 100 connected to aswitch 102, which is in turn connected to astorage unit 104. Thehost 100 includes anN_port 106 which is connected over a Fibre Channel link 108 to an F_port no in theswitch 102. Thestorage unit 104 includes anNL_port 112 which is connected by aloop 114 to anFL_port 116 in theswitch 102. Assuming that theloop 114 is a private loop so that thestorage unit 104 cannot directly communicate with thehost 100, theswitch 102 would include an apparatus for translating between the public and private devices in thehost 100 andstorage unit 104. One preferred method for doing this is shown in U.S. Pat. No. 6,401,128 entitled “System and Method for Sending and Receiving Frames Between a Public Device and a Private Device,” which is hereby incorporated by reference. - According to the patent, the
switch 102 includes various tables to do public to private and private to public address conversions. Theswitch 102 develops a phantom loop private address for the public device and a phantom public address for the private device and maps the addresses between the public and private spaces. This is shown in more detail inFIG. 1B and in the patent. For example, inFIG. 1B theswitch 102 has a domain of 01. Assuming thatport 110 isport 1 of theswitch 102, the address ofport 110 is 010100 in the Fibre Channel addressing technique. Then thehost 100 address is 010101. Similarly,port 116 is configured as an FL_port. Assuming thatport 116 is the port five of theswitch 102, then its address is 010500. Thestorage unit 104 has an address on theloop 114 connected to theport 116 and for purposes of this explanation it is considered to have an address EF. To allow this privatedevice storage unit 104 to be visible by thehost 100 theport 116 then develops a public address for thestorage unit 104 of 0105EF. Thus thehost 100 can address thestorage unit 104 by using this as a destination address. - It is also required that the
host 100 appears as an addressable device to thestorage unit 104 on theprivate loop 114. This is done by having theport 116 pick an open loop port address, in this example 02, and assign that to a phantom device representing thehost 100. Thus thestorage unit 104 would address the phantom unit of thehost 100 by using an address of 02 on theloop 114. TheFL_port 116 would intercept this communication addressed to an address of 02 and convert that address to 010101 indicating the full fabric address of thehost 100. This address and the similarly convertedstorage unit 104 address of 0105EF would be substituted in the particular packet and then the packet would be provided to the port no for transmission to thehost 100. Then when a communication is received from thehost 100 atport 116, the address 0105EF is translated to the loop address EF and the address 010101 is translated toloop address 02, so that thestorage unit 104 can properly receive the frame. -
FIG. 2 illustrates aninterfabric switch 120 according to the present invention, interconnected between fourindependent fabrics interfabric switch 120 or are operating in an interoperability mode. An alternative embodiment is shown inFIG. 3 where interfabric switches 120A and 120B are connected betweenfabrics switches switches switches -
FIG. 4 illustrates an additional embodiment with aninterfabric switch 120A interconnected betweenfabric 122 andfabric 124 and aninterfabric switch 120B interconnected betweenfabric 124 andfabric 126. In the preferred embodiment devices in fabric C are not presented tointerfabric switch 120A but instead are presented only to devices infabric 124 to simplify programming. However, in an alternative embodiment such extended operation can be included. -
FIG. 5 is a simple illustration of operation according to the present invention. Here again, theinterfabric switch 120 is connected tofabrics host 130 is connected tofabric 122, while astorage device 132 is connected tofabric 124. In operation theinterfabric switch 120 presents avirtual switch 134 to thefabric 122 with avirtual storage device 132′ connected to thevirtual switch 134. Thus thehost 130 believes it is addressing thevirtual storage device 132′. Similarly, theinterfabric switch 120 provides avirtual switch 136 to thefabric 124, with ahost 130′ connected to thevirtual switch 136. Thestorage device 132 thus communicates with thevirtual host 130′. Theinterfabric switch 120 provides a translation between the twovirtual switches host 130 todevice 132. - A detailed addressing example is shown in
FIG. 6 . Theinterfabric switch 120 is connected to aswitch 200, which is representative of thefabric 124, and to aswitch 202, which is representative of thefabric 122. In the illustrated example,port 3 208 of theinterfabric switch 120 is connected toport 8 210 of theswitch 202, with both of the ports being configured in E_port mode so that the link is an interswitch link. Similarly,port 4 212 of theinterfabric switch 120 is connected to aport 9 214 ofswitch 200, with both of the ports being configured in an E_port mode. Theworkstation 206 is connected to theswitch 202, and is illustrated connecting toport 1 216. Atape drive unit 204 is connected toport 5 218 ofswitch 200. It is presumed that theswitch 200 isdomain 1 infabric 122 and switch 200 isdomain 2 infabric 124. - The
interfabric switch 120, as before, includesvirtual switches virtual switch 134 is assigneddomain 5 infabric 122, whilevirtual switch 136 becomesdomain 6 infabric 124.Virtual switches ports loop 224 results. As described above, then theworkstation 206 and thetape unit 204 must have phantom addresses on theprivate loop 224. In the illustrated embodiment, theaddress 04 is provided to thetape unit 204 and theaddress 02 is provided for theworkstation 206. - Thus the
workstation 206 will address thetape drive 204 by providing a destination address of 050104 that is a full public loop address. The domain 05 indicates thevirtual switch 134, the port 01 indicating the virtual port in thevirtual switch 134 which in actuality isphysical port 3 208. The 04 is the phantom public address of thetape 204 as provided by the private loop translation. This address of 050104 is converted by thevirtual loop port 220 to a loop address of 04. This loop address of 04 in turn is translated byvirtual loop port 222 to an address of 0205EF, which is the actual address of thetape unit 204 infabric 124. This address is developed because thetape 204 is connected toport 5 218 of theswitch 200, which isdomain 2, and thetape unit 204 is preferably a public loop device with an actual loop address of EF. This results in an address of 0205EF for thetape unit 204. For thetape unit 204 to address theworkstation 206, an address of 060102 is used. This is developed because thevirtual switch 136 is indomain 6 andphysical port 4 212 isvirtual port 1 indicating that it is 060102 in fabric B. Then as the loop address of theworkstation 206 on the virtualprivate loop 224 is 02, this fully presents itself to thetape unit 204 as a public address of 060102. This address of 060102 is converted by thevirtual loop port 222 into a loop address of 02. Packets transmit from thevirtual loop port 222 to thevirtual loop port 220 are then converted from this loop address of 02 to the desired address of 010101 for the workstation. Similar flow occurs for packets from theworkstation 206 to thetape unit 204. - An alternative version of this illustration of this is shown in
FIG. 7 . Theinterfabric switch 120 is connected tofabric 122 andfabric 124. Ahost 130 is connected to thefabric 122 and astorage device 132 is connected tofabric 124. Theinterfabric switch 120 includes avirtual switch 134 and avirtual switch 136 connected by aprivate loop 224. Thevirtual switch 134 is assumed to receive adomain 4 and an area or port address of 3 for the loop. Thevirtual switch 134 provides aphantom host 130′, with a loop address of 9 while thevirtual switch 136 provides avirtual storage device 132′ with a loop address of 6. Thevirtual switch 136 isdomain 3 and the loop is area orport 6. Thehost 130 has an address of 020600 by being ondomain 2port 6 and it would address thedevice 132 by using an address of 040306 to indicatedomain 4,port 3 andloop device 6. Thedevice 132 is indomain 5 andport 1 so that it has an address of 050100. Thus thevirtual host 130′ has an address of 030609 and this is used for addressing purposes by thedevice 132. Thevirtual switch 136 converts the 030609 address into aloop address 9 on theloop 224, whichvirtual switch 134 then translates to 020600 indicating thehost 130. - The drawings and explanations of
FIGS. 6 and 7 have used a private loop as the means for connecting the virtual switches. This was done to simplify visualization. In fact, any link between the virtual switches which causes the same address translations, such as from 24 bit to 8 bit to 24 bit, can be used. In the preferred embodiment, the links are effectively normal ISLs as between E_ports, except that only private or 8 bit addressing is used on the links, with appropriate 24 bit or public address conversions at each port. Referring to U.S. Pat. No. 6,401,128, this can be done by properly programming the mapping tables and having them active in this essentially private E_port mode. The public to private translation will remove the domain and area bits, which will be provided by the private to public translation in the manner described above. This is preferred because it allows the ports to be trunked to increase through put between the virtual switches. However, if the specific components used do not provide this capability, then private loops can be used as illustrated. -
FIG. 8 is the first of several illustrations of the connections of theinterfabric switch 120 to particular switches inside thefabric 122. InFIG. 8 theinterfabric switch 120 is connected to fourindividual switches fabric 122. Theinterfabric switch 120 is thus allowed to connect the devices, which are routed through these four switches 300-306. -
FIGS. 9A , 9B, 9C, and 9D illustrate more detailed connections of theinterfabric switch 120. Each of the switches in the preferred embodiment have their ports organized into quads, with the ports in the particular quads capable of being trunked as described in U.S. patent application Ser. No. 09/872,412, entitled “Link Trunking and Measuring Link Latency in Fibre Channel Fabric” by David C. Banks, Kreg A. Martin, Shunjia Yu, Jieming Zhu and Kevan K. Kwong, filed Jun. 1, 2001, which is hereby incorporated by reference. Thusinterfabric switch 120 inFIG. 9A includes aquad 308 which is connected by fourtrunked links 310 to aquad 312 in aswitch 314 infabric 122. In the alternate embodiment shown inFIG. 9B , theinterfabric switch 120 has itsquad 308 connected toquads switch 314. In this case, the two links betweenquad 308 andquad 312 are trunked and the two links betweenquad FIG. 9C , theinterfabric switch 120 has itsquad 308 connected toquads switch 314 and toquads switch 322. In this embodiment, none of the links can be trunked because they are in different quads.FIG. 9D then shows a more detailed breakdown ofFIG. 8 wherequad 308 ofinterfabric switch 120 is connected toquad 312 inswitch 314, toquad 318 inswitch 322, toquad 324 inswitch 326 and toquad 328 inswitch 330. Accordingly, because these are going to four separate switches none of the links can be trunked. -
FIG. 10 illustrates a block diagram of aninterfabric switch 120 according to the preferred embodiment. In switch 120 aprocessor unit 402 which includes a high performance CPU, preferably a PowerPC, and various other peripheral devices including an Ethernet module, is present. Receiver/driver circuitry 440 for a serial port is connected to theprocessor unit 402, as is aPHY 406 used for an Ethernet connection. Aflash memory 410 is connected to theprocessor 402 to provide permanent memory for the operating system and other routines of theinterfabric switch 120, withDRAM 408 also connected to theprocessor 402 to provide the main memory utilized in theinterfabric switch 120. APCI bus 412 is provided by theprocessor 402 and to it are connected a series of Fabric Channel miniswitches 414, 422, 428 and 434. The Fibre Channel miniswitches 414, 422, 428 and 434 are preferably developed as shown in U.S. patent application Ser. No. 10/123,996, entitled, “Fibre Channel Zoning By Device Name In Hardware,” by, Ding-Long Wu, David C. Banks, and Jieming Zhu, filed on Apr. 17, 2002 which is hereby incorporated by reference. Each of theminiswitches miniswitches serializers media units interfabric switch 120. - To provide the necessary interconnections to represent the virtual switches in the
interfabric switch 120, theminiswitches miniswitch 414 are connected to four ports onminiswitch 422, four ports onminiswitch 414 are connected to four ports onminiswitch 434 and four ports onminiswitch 414 are connected to four ports onminiswitch 428. Similarly, four ports onminiswitch 422 are connected to four ports onminiswitch 428 and four ports onminiswitch 422 are connected to four ports onminiswitch 434. Finally, four ports onminiswitch 428 are connected to four ports onminiswitch 434. Thus, this provides a full direct interconnect between any of the fourminiswitches miniswitches interfabric switch 120 are configured as E_ports in theminiswitches - Referring to
FIG. 11 , this is an alternative view of the network as shown from the perspective of the configuration manager. In this view point aninterfabric switch 120 is connected tofabrics devices fabric 122, whiledevices fabric 124. This is the perspective utilized by management software to configure the mapping in theinterfabric switch 120 to allow the proper address translations to occur and to provide easiest interface to system administrators. Using management software the administrator of eachfabric interfabric switch 120 with a list of WWNs available for export from the fabric and a list of WWNs desired to be imported into the fabric. Theinterfabric switch 120 then uses these export/import lists to establish the necessary phantom devices on the private loops and the translations done by the virtual switches. -
FIG. 12 illustrates an alternative block diagram of theinterfabric switch 120, which includes a mixture of software and hardware modules. In the embodiment shown inFIG. 12 only two miniswitches are illustrated for simplicity. Theinterfabric switch 120 includesvirtual switches fabrics Virtual switch 500 effectively maps to miniswitch 504, whilevirtual switch 502 effectively maps tominiswitch 506. Anaddress translation manager 512, which manages the particular address translations performed in the private to public mappings in theinterfabric switch 120 is connected to thevirtual switches address translation manager 512 to allow any needed changes in address translations. Theaddress translation manger 512 is also connected to aphantom ALPA manager 514, which maps into the various tables 516 in theminiswitches phantom ALPA manager 514 receives the desired translations from theaddress translation manager 512 and properly sets up the various tables 516. In addition, thephantom ALPA manager 514 also receives any PLOGI events, which are trapped by filters in the system illustrated in Ser. No. 10/123,996. Thephantom ALPA manager 514 checks with theaddress translation manager 512 to see if they are relevant to any devices being imported from the other fabric. If so, appropriate steps are taken and the new device is incorporated. If not, normal PLOGI handling routines are invoked. Theaddress translation manager 512 is connected to an export/import list 518, which is the list of devices to be exported from and imported into each fabric. The address translation manager uses the export/import list in conjunction with information from the name server and the PLOGI trapping by thephantom ALPA manager 514 to determine the actual address translations needed in theinterfabric switch 120. - A slightly different view is shown in
FIG. 13 , where theinterfabric switch 120 is shown with fourvirtual switches fabrics virtual switches translation manager module 512, which is connected to the export/import list 518, which in turn, is connected to anelement manager 574. Theelement manager 574 provides a portion of the management interface in theinterfabric switch 120 and is used to load or change the export/import database 518. The dotted lines from thevarious fabrics element manager 574 for the various devices in the fabrics for identification purposes. -
FIG. 14 illustrates a software layer view of theinterfabric switch 120. ACPU 600 is at the lowest layer with anoperating system image 602, preferably the Linux operating system in the preferred embodiment, executing on the CPU. A fabric operatingsystem virtualizer module 604 is operating in theoperating system image 602. Thevirtualizer module 504 will make necessary changes to the miniswitch drivers to allow the miniswitches to be partitioned and to other Linux components necessary to allow multiple fabric operating system instances. After thevirtualizer module 504 loads and executes, four instantiations of the virtual fabric operating system (V-FOS) 608, 610, 612, and 614 are loaded. One instantiation is assigned to each miniswitch in the preferred embodiment. The virtual fabric operating system is a slightly modified copy of the fabric operating system used in a conventional switch. After the four V-FOSs phantom APLA bridge 606 that operates on top of thefabric OS virtualizer 604 and below the V-FOSs FOS phantom ALPA bridge 606 then programs the miniswitches as necessary to develop the private connections and the necessary translations, as described above. Thus, four virtual switch instantiations are present and separated by thephantom ALPA bridge 606 so that there are in actuality four virtual switches executing on theinterfabric switch 120. Each of these virtual fabric operating system instantiations 608, 610, 612 and 614 thus control theirrespective miniswitches - To coordinate with
FIGS. 12 and 13 , theaddress translation manager 512, export/import list 518 andelement manager 574 execute at the level of the fabricoperating system virtualizer 604 as switch-level tasks. - In previous embodiments it has been seen that the external ports of the
interfabric switch 120 are configured in an E_port mode. In an alternative embodiment as shown inFIG. 15 , the external ports of aninterfabric switch 700 are configured to be NL_ports. Thus the mating or connected ports onswitches switches switch 700 is connected to the illustratedworkstation 706 and configured in an F_port mode, and the port connected to thetape unit 708 inswitch 704 is configured as an FL_port, as the tape unit is connected in loop mode. - The NL_ports of the
interfabric switch 700 are configured as having two addresses, one public and one private. Theinterfabric switch 700 uses the public address to log into the connected fabric and learn the address of the connected FL_port, which it then configures as its own address. The FL_port will also detect the private address by probing as described in U.S. Pat. No. 6,353,612, which is hereby incorporated by reference. The NL_port will then create a public-private translation for the private device. The FL_port will also develop a phantom address in the connected device, which theinterfabric switch 700 will determine. This is done for each fabric, so theinterfabric switch 700 ends up knowing all the device public-private address translations and has addresses for the connected ports in different domains. - The
interfabric switch 700 then assigns public addresses for each of the phantom devices connected to each port based on the port address. Theinterfabric switch 700 then effectively separates the ports into virtual switches as described above, with the domain of each virtual switch defined by the public port address. The virtual switches thus effectively form their own fabric separated from the other fabrics by the loops. The virtual switches are connected by E_ports so no address translations are necessary and the public addresses of the phantom devices are used. - In this mode the public to private translations occur between the
interfabric switch 700 and theswitches interfabric switch 700. The address mappings are shown in detail inFIG. 15 and will not be described in detail but can be readily understood based on prior descriptions and review of the figure. - As previously mentioned with respect to
FIGS. 6 and 7 , private loops are used to simplify visualization but any link which causes the same public to private to public address translations can be used. - In a third variation shown in
FIG. 16 , twointerfabric switches IFL 806 is an ISL with only private addressing, as discussed with relation toFIGS. 6 , 7, and 15. Eachinterfabric switch port 2 in both illustrated cases, connected to the link. These ports can be referred to as I_ports for simplicity, but these ports operate as E_ports except they perform the public to private and private to public address translations. - A
host 130 is shown connected toport 1, an F_port, ofinterfabric switch 802, which is illustrated as beingdomain 3. Astorage device 132 is similarly connected toport 1, an F_port, ofinterfabric switch 804, which is illustrated as beingdomain 4. Thus, the address of thehost 130 is 030100 and of thestorage device 132 is 040100. Theinterfabric switch 804 presents thestorage device 132 as aphantom storage device 132′ with a private address of 6. Theinterfabric switch 802 presents thehost 130 as aphantom host 130′ with a private address of 5. Theinterfabric switch 804 translates thisprivate address 5 to a public address of 040205, indicating connection todomain 4,port 2,device 5. Similarly, theinterfabric switch 802 translates theprivate address 6 as 030206 indicatingdomain 3,port 2,device 6. Thus addressing by the various devices occurs as in the prior examples. - The I_ports must be defined as such at switch setup or initialization for proper operation. Further, messaging must occur between each of the interfabric switches 802 and 804 to confirm that they are connected through I_ports by an IFL. Additionally, each I_port will have to keep track of all allocated private addresses to prevent duplication. Ports not defined as I_ports would be initialized according to normal protocols. The interfabric switches 802 and 804 would then operate as normal switches, routing frames between ports as usual.
- In this embodiment a V_FOS is not required as there are no virtual switches, but the export/
import list 518, addresstranslation manager 512 andphantom ALPA manager 514 are still needed. This embodiment does have the possible disadvantage that it may be less clear for an administrator to use as it will be more difficult to determine which ports are the I_ports, while in the prior embodiments all the ports will perform the necessary functions. - In all of the above examples of interfabric switches, most interfabric events must be suppressed so that they do not cross between the fabrics. Basically, the only messages that are passed are RSCNs for devices which are imported into the other fabric as the devices come on line or go off line in their original fabric and various SW_ILS frames as the switches initiate operations.
- Additionally, certain frames must be captured for operation by the processor on each switch. One example is a PLOGI frame so that the import and export tables can be checked and the SID or DID in the header changed if necessary. A second example are various SW_ILS frames which include SID and DID values in their payload so that the payload values can be changed. This trapping is done in normal manner, such as hardware trapping as described in Ser. No. 10/123,996.
- While illustrative embodiments of the invention have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.
Claims (6)
1. An interfabric device comprising:
logic to allow Fibre Channel packets to be transferred between a first device connected to a first Fibre Channel fabric and a second device connected to a second Fibre Channel fabric without the packets being encapsulated in non-Fibre Channel packets.
2. The Fibre Channel interfabric device of claim 1 , wherein said logic includes circuitry to perform public to private address translations and circuitry to perform private to public address translations, and
wherein Fibre Channel packets to be transferred between the first device and the second device are operated on by both said public to private circuitry and said private to public circuitry.
3. A Fibre Channel interfabric device comprising:
a first Fibre Channel link port for coupling to a first Fibre Channel fabric;
a second Fibre Channel link port for coupling to a second Fibre Channel fabric; and
logic coupled to said first and second ports to allow Fibre Channel packets to transfer between a first device connected to the first Fibre Channel fabric and a second device connected to the second Fibre Channel fabric without the packets being encapsulated in non-Fibre Channel packets.
4. The Fibre Channel interfabric device of claim 3 , wherein said first Fibre Channel link port uses public addressing and said second Fibre Channel link port uses private addressing.
5. A method comprising:
transferring, inside an interfabric device, Fibre Channel packets between a first device connected to a first Fibre Channel fabric and a second device connected to a second Fibre Channel fabric without the packets being encapsulated in non-Fibre Channel packets.
6. The method of claim 5 , wherein said transferring step performs public to private address translations and performs private to public address translations, and
wherein Fibre Channel packets transferred between the first device and the second device receive both said public to private translations and said private to public translations inside the interfabric device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/284,782 US20120044934A1 (en) | 2003-01-31 | 2011-10-28 | Method and apparatus for routing between fibre channel fabrics |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/356,392 US8081642B2 (en) | 2003-01-31 | 2003-01-31 | Method and apparatus for routing between fibre channel fabrics |
US13/284,782 US20120044934A1 (en) | 2003-01-31 | 2011-10-28 | Method and apparatus for routing between fibre channel fabrics |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/356,392 Division US8081642B2 (en) | 2003-01-31 | 2003-01-31 | Method and apparatus for routing between fibre channel fabrics |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120044934A1 true US20120044934A1 (en) | 2012-02-23 |
Family
ID=32770789
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/356,392 Expired - Fee Related US8081642B2 (en) | 2003-01-31 | 2003-01-31 | Method and apparatus for routing between fibre channel fabrics |
US13/284,782 Abandoned US20120044934A1 (en) | 2003-01-31 | 2011-10-28 | Method and apparatus for routing between fibre channel fabrics |
US13/284,778 Expired - Fee Related US9172556B2 (en) | 2003-01-31 | 2011-10-28 | Method and apparatus for routing between fibre channel fabrics |
US14/854,970 Expired - Fee Related US10432555B2 (en) | 2003-01-31 | 2015-09-15 | Method and apparatus for routing between fibre channel fabrics |
US16/554,623 Expired - Lifetime US11115349B2 (en) | 2003-01-31 | 2019-08-29 | Method and apparatus for routing between fibre channel fabrics |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/356,392 Expired - Fee Related US8081642B2 (en) | 2003-01-31 | 2003-01-31 | Method and apparatus for routing between fibre channel fabrics |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/284,778 Expired - Fee Related US9172556B2 (en) | 2003-01-31 | 2011-10-28 | Method and apparatus for routing between fibre channel fabrics |
US14/854,970 Expired - Fee Related US10432555B2 (en) | 2003-01-31 | 2015-09-15 | Method and apparatus for routing between fibre channel fabrics |
US16/554,623 Expired - Lifetime US11115349B2 (en) | 2003-01-31 | 2019-08-29 | Method and apparatus for routing between fibre channel fabrics |
Country Status (1)
Country | Link |
---|---|
US (5) | US8081642B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120044933A1 (en) * | 2003-01-31 | 2012-02-23 | Brocade Communications Systems, Inc. | Method and apparatus for routing between fibre channel fabrics |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599360B2 (en) * | 2001-12-26 | 2009-10-06 | Cisco Technology, Inc. | Methods and apparatus for encapsulating a frame for transmission in a storage area network |
US7499410B2 (en) | 2001-12-26 | 2009-03-03 | Cisco Technology, Inc. | Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs |
US7616637B1 (en) | 2002-04-01 | 2009-11-10 | Cisco Technology, Inc. | Label switching in fibre channel networks |
US7406034B1 (en) | 2002-04-01 | 2008-07-29 | Cisco Technology, Inc. | Methods and apparatus for fibre channel frame delivery |
US7206288B2 (en) * | 2002-06-12 | 2007-04-17 | Cisco Technology, Inc. | Methods and apparatus for characterizing a route in fibre channel fabric |
US7433326B2 (en) | 2002-11-27 | 2008-10-07 | Cisco Technology, Inc. | Methods and devices for exchanging peer parameters between network devices |
JP4080970B2 (en) * | 2003-07-30 | 2008-04-23 | 株式会社日立製作所 | Switch that provides path switching |
US7460537B2 (en) * | 2004-01-29 | 2008-12-02 | Brocade Communications Systems, Inc. | Supplementary header for multifabric and high port count switch support in a fibre channel network |
US7609654B2 (en) * | 2004-07-01 | 2009-10-27 | Mcdata Corporation | Method of evaluating network connectivity between network resources |
US8018936B2 (en) * | 2004-07-19 | 2011-09-13 | Brocade Communications Systems, Inc. | Inter-fabric routing |
US7466712B2 (en) * | 2004-07-30 | 2008-12-16 | Brocade Communications Systems, Inc. | System and method for providing proxy and translation domains in a fibre channel router |
US7839765B2 (en) * | 2004-10-05 | 2010-11-23 | Hewlett-Packard Development Company, L.P. | Advertising port state changes in a network |
US7593324B2 (en) * | 2004-10-25 | 2009-09-22 | Cisco Technology, Inc. | Graceful port shutdown protocol for fibre channel interfaces |
US7916628B2 (en) | 2004-11-01 | 2011-03-29 | Cisco Technology, Inc. | Trunking for fabric ports in fibre channel switches and attached devices |
US7649844B2 (en) * | 2004-12-29 | 2010-01-19 | Cisco Technology, Inc. | In-order fibre channel packet delivery |
US7760717B2 (en) * | 2005-10-25 | 2010-07-20 | Brocade Communications Systems, Inc. | Interface switch for use with fibre channel fabrics in storage area networks |
US20090234959A1 (en) * | 2008-03-17 | 2009-09-17 | Brocade Communications Systems, Inc. | Proxying multiple initiators as a virtual initiator using identifier ranges |
US8706905B1 (en) * | 2009-08-24 | 2014-04-22 | Qlogic, Corporation | Method and system for routing information in a network |
US8989201B2 (en) * | 2009-10-08 | 2015-03-24 | Brocade Communications Systems, Inc. | Mapping logical ports of a network switch to physical ports |
US8635375B2 (en) | 2010-04-14 | 2014-01-21 | Brocade Communications Systems, Inc. | Remote F—ports |
KR101687273B1 (en) * | 2011-08-22 | 2016-12-16 | 인텔 코포레이션 | Method for data throughput improvement in open core protocol based interconnection networks using dynamically selectable redundant shared link physical paths |
US9749236B2 (en) | 2014-07-29 | 2017-08-29 | Brocade Communications Systems, Inc. | Increased network scalability by router aware switches |
US10841275B2 (en) | 2016-12-12 | 2020-11-17 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing IP addresses usage of NVME over fabrics devices |
US10901930B1 (en) * | 2019-10-21 | 2021-01-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Shared virtual media in a composed system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529963B1 (en) * | 1998-12-29 | 2003-03-04 | Lsi Logic Corporation | Methods and apparatus for interconnecting independent fibre channel fabrics |
US6834311B2 (en) * | 2001-04-04 | 2004-12-21 | Sun Microsystems, Inc. | Method, system, and program for enabling communication between devices using dynamic addressing |
US7616637B1 (en) * | 2002-04-01 | 2009-11-10 | Cisco Technology, Inc. | Label switching in fibre channel networks |
US8055794B2 (en) * | 2004-01-29 | 2011-11-08 | Brocade Communications Systems, Inc. | Isolation switch for fibre channel fabrics in storage area networks |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5363367A (en) | 1991-09-19 | 1994-11-08 | Honda Giken Kogyo Kabushiki Kaisha | Data transmission system using an optical fiber loop |
US5400325A (en) * | 1993-06-29 | 1995-03-21 | Synoptics Communications, Inc. | Method and apparatus providing for hunt groups in an ATM network of the like |
US6041166A (en) | 1995-07-14 | 2000-03-21 | 3Com Corp. | Virtual network architecture for connectionless LAN backbone |
US6118776A (en) | 1997-02-18 | 2000-09-12 | Vixel Corporation | Methods and apparatus for fiber channel interconnection of private loop devices |
DE19732888A1 (en) | 1997-07-30 | 1999-02-25 | Still & Saxby Sarl | Operating device for an industrial truck |
US6339842B1 (en) | 1998-06-10 | 2002-01-15 | Dennis Sunga Fernandez | Digital television with subscriber conference overlay |
US6401128B1 (en) * | 1998-08-07 | 2002-06-04 | Brocade Communiations Systems, Inc. | System and method for sending and receiving frames between a public device and a private device |
US6765919B1 (en) | 1998-10-23 | 2004-07-20 | Brocade Communications Systems, Inc. | Method and system for creating and implementing zones within a fibre channel system |
US6608819B1 (en) | 1999-01-12 | 2003-08-19 | Mcdata Corporation | Method for scoring queued frames for selective transmission through a switch |
US7107347B1 (en) | 1999-11-15 | 2006-09-12 | Fred Cohen | Method and apparatus for network deception/emulation |
US6879593B1 (en) * | 1999-12-20 | 2005-04-12 | Intel Corporation | Connections of nodes on different networks |
US6519062B1 (en) | 2000-02-29 | 2003-02-11 | The Regents Of The University Of California | Ultra-low latency multi-protocol optical routers for the next generation internet |
EP1297662A2 (en) | 2000-06-02 | 2003-04-02 | Inrange Technologies Corporation | Address conversion method and device in a fibre channel switch |
GB2363297B (en) | 2000-06-09 | 2004-04-07 | Hewlett Packard Co | Secure network communications |
US6920153B2 (en) * | 2000-07-17 | 2005-07-19 | Nortel Networks Limited | Architecture and addressing scheme for storage interconnect and emerging storage service providers |
WO2002013458A2 (en) | 2000-08-07 | 2002-02-14 | Inrange Technologies Corporation | Fibre channel switch |
US20020101859A1 (en) | 2000-09-12 | 2002-08-01 | Maclean Ian B. | Communicating between nodes in different wireless networks |
US6823453B1 (en) | 2000-10-06 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Apparatus and method for implementing spoofing-and replay-attack-resistant virtual zones on storage area networks |
CA2432153A1 (en) | 2000-12-20 | 2002-07-18 | Inrange Technologies Corporation | Fibre channel port adapter |
JP4457184B2 (en) * | 2001-02-13 | 2010-04-28 | ネットアップ,インコーポレイテッド | Failover processing in the storage system |
JP4483100B2 (en) | 2001-02-20 | 2010-06-16 | 株式会社日立製作所 | Network connection device |
US7130303B2 (en) * | 2001-03-15 | 2006-10-31 | Lucent Technologies Inc. | Ethernet packet encapsulation for metropolitan area ethernet networks |
US6948004B2 (en) | 2001-03-28 | 2005-09-20 | Intel Corporation | Host-fabric adapter having work queue entry (WQE) ring hardware assist (HWA) mechanism |
US6941260B2 (en) | 2001-04-26 | 2005-09-06 | International Business Machines Corporation | Method and apparatus for emulating a fiber channel port |
US20030210685A1 (en) * | 2001-04-27 | 2003-11-13 | Foster Michael S. | Method and system for interswitch deadlock avoidance in a communications network |
US6944133B2 (en) | 2001-05-01 | 2005-09-13 | Ge Financial Assurance Holdings, Inc. | System and method for providing access to resources using a fabric switch |
US20020165978A1 (en) | 2001-05-07 | 2002-11-07 | Terence Chui | Multi-service optical infiniband router |
US20020191602A1 (en) | 2001-06-13 | 2002-12-19 | Woodring Sherrie L. | Address mapping and identification |
US7042842B2 (en) * | 2001-06-13 | 2006-05-09 | Computer Network Technology Corporation | Fiber channel switch |
US20020191649A1 (en) | 2001-06-13 | 2002-12-19 | Woodring Sherrie L. | Port mirroring in channel directors and switches |
US6985490B2 (en) * | 2001-07-11 | 2006-01-10 | Sancastle Technologies, Ltd. | Extension of fibre channel addressing |
US7171434B2 (en) * | 2001-09-07 | 2007-01-30 | Network Appliance, Inc. | Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system |
US6532212B1 (en) * | 2001-09-25 | 2003-03-11 | Mcdata Corporation | Trunking inter-switch links |
US20030058853A1 (en) | 2001-09-26 | 2003-03-27 | Eugene Gorbatov | Method and apparatus for mobile device roaming in wireless local area network |
US7447197B2 (en) | 2001-10-18 | 2008-11-04 | Qlogic, Corporation | System and method of providing network node services |
US7200144B2 (en) | 2001-10-18 | 2007-04-03 | Qlogic, Corp. | Router and methods using network addresses for virtualization |
US6965559B2 (en) | 2001-10-19 | 2005-11-15 | Sun Microsystems, Inc. | Method, system, and program for discovering devices communicating through a switch |
US20030084219A1 (en) * | 2001-10-26 | 2003-05-01 | Maxxan Systems, Inc. | System, apparatus and method for address forwarding for a computer network |
US20030135385A1 (en) * | 2001-11-07 | 2003-07-17 | Yotta Yotta, Inc. | Systems and methods for deploying profitable storage services |
US7308001B2 (en) * | 2001-11-16 | 2007-12-11 | Computer Network Technology Corporation | Fibre channel frame batching for IP transmission |
US20030120915A1 (en) * | 2001-11-30 | 2003-06-26 | Brocade Communications Systems, Inc. | Node and port authentication in a fibre channel network |
US7599360B2 (en) | 2001-12-26 | 2009-10-06 | Cisco Technology, Inc. | Methods and apparatus for encapsulating a frame for transmission in a storage area network |
US7499410B2 (en) * | 2001-12-26 | 2009-03-03 | Cisco Technology, Inc. | Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs |
US7036013B2 (en) | 2002-01-31 | 2006-04-25 | Brocade Communications Systems, Inc. | Secure distributed time service in the fabric environment |
JP2003296037A (en) * | 2002-04-05 | 2003-10-17 | Hitachi Ltd | Computer system |
US7606167B1 (en) * | 2002-04-05 | 2009-10-20 | Cisco Technology, Inc. | Apparatus and method for defining a static fibre channel fabric |
AU2003220679A1 (en) * | 2002-04-09 | 2003-10-27 | Next Generation Systems, Inc. | Systems and methods for providing qos environment ____________ |
US7139240B2 (en) * | 2002-04-29 | 2006-11-21 | Brocade Communications Systems, Inc. | Frame-pull flow control in a fibre channel network |
US7206288B2 (en) | 2002-06-12 | 2007-04-17 | Cisco Technology, Inc. | Methods and apparatus for characterizing a route in fibre channel fabric |
US7664018B2 (en) | 2002-07-02 | 2010-02-16 | Emulex Design & Manufacturing Corporation | Methods and apparatus for switching fibre channel arbitrated loop devices |
US7630300B2 (en) * | 2002-07-02 | 2009-12-08 | Emulex Design & Manufacturing Corporation | Methods and apparatus for trunking in fibre channel arbitrated loop systems |
US6798956B2 (en) * | 2002-07-16 | 2004-09-28 | Sun Microsystems, Inc. | Optical cable with indicator |
US7154886B2 (en) | 2002-07-22 | 2006-12-26 | Qlogic Corporation | Method and system for primary blade selection in a multi-module fiber channel switch |
US7230929B2 (en) | 2002-07-22 | 2007-06-12 | Qlogic, Corporation | Method and system for dynamically assigning domain identification in a multi-module fibre channel switch |
US7236496B2 (en) * | 2002-07-30 | 2007-06-26 | Brocade Communications Systems, Inc. | Method and apparatus for mapping between a fibre channel network and an infiniband network |
US7206314B2 (en) * | 2002-07-30 | 2007-04-17 | Brocade Communications Systems, Inc. | Method and apparatus for transparent communication between a fibre channel network and an infiniband network |
US7583681B2 (en) * | 2002-07-30 | 2009-09-01 | Brocade Communications Systems, Inc. | Method and apparatus for establishing metazones across dissimilar networks |
US7120728B2 (en) * | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
US7533256B2 (en) | 2002-10-31 | 2009-05-12 | Brocade Communications Systems, Inc. | Method and apparatus for encryption of data on storage units using devices inside a storage area network fabric |
US7103711B2 (en) | 2003-01-21 | 2006-09-05 | Brocade Communications Systems, Inc. | Data logging by storage area network devices to a reserved storage area on the network |
US8081642B2 (en) * | 2003-01-31 | 2011-12-20 | Brocade Communications Systems, Inc. | Method and apparatus for routing between fibre channel fabrics |
US7684401B2 (en) | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
US7539143B2 (en) | 2003-08-11 | 2009-05-26 | Netapp, Inc. | Network switching device ingress memory system |
US20080028096A1 (en) | 2003-10-21 | 2008-01-31 | Henderson Alex E | Transporting fibre channel over ethernet |
US7103704B2 (en) | 2003-10-24 | 2006-09-05 | Sun Microsystems, Inc. | Exporting 12C controller interfaces for 12C slave devices using IPMI micro-controller |
US7460537B2 (en) * | 2004-01-29 | 2008-12-02 | Brocade Communications Systems, Inc. | Supplementary header for multifabric and high port count switch support in a fibre channel network |
US7340167B2 (en) | 2004-04-23 | 2008-03-04 | Qlogic, Corporation | Fibre channel transparent switch for mixed switch fabrics |
US8018936B2 (en) | 2004-07-19 | 2011-09-13 | Brocade Communications Systems, Inc. | Inter-fabric routing |
US7305069B1 (en) | 2004-07-20 | 2007-12-04 | Cisco Technology, Inc. | Multi-copy, multi-media, non-redundant messaging |
US7936769B2 (en) | 2004-07-30 | 2011-05-03 | Brocade Communications System, Inc. | Multifabric zone device import and export |
US7466712B2 (en) * | 2004-07-30 | 2008-12-16 | Brocade Communications Systems, Inc. | System and method for providing proxy and translation domains in a fibre channel router |
US8059664B2 (en) * | 2004-07-30 | 2011-11-15 | Brocade Communications Systems, Inc. | Multifabric global header |
US7742484B2 (en) * | 2004-07-30 | 2010-06-22 | Brocade Communications Systems, Inc. | Multifabric communication using a backbone fabric |
US8532119B2 (en) * | 2004-07-30 | 2013-09-10 | Brocade Communications Systems, Inc. | Interfabric routing header for use with a backbone fabric |
US7916628B2 (en) | 2004-11-01 | 2011-03-29 | Cisco Technology, Inc. | Trunking for fabric ports in fibre channel switches and attached devices |
US7492765B2 (en) | 2005-06-15 | 2009-02-17 | Cisco Technology Inc. | Methods and devices for networking blade servers |
US7577134B2 (en) * | 2005-08-19 | 2009-08-18 | Brocade Communications Systems, Inc. | Port expander for fibre channel fabrics in storage area networks |
US7760717B2 (en) * | 2005-10-25 | 2010-07-20 | Brocade Communications Systems, Inc. | Interface switch for use with fibre channel fabrics in storage area networks |
US8787303B2 (en) * | 2010-10-05 | 2014-07-22 | Cisco Technology, Inc. | Methods and apparatus for data traffic offloading at a router |
WO2013170897A1 (en) * | 2012-05-16 | 2013-11-21 | Telefonaktiebolaget L M Ericsson (Publ) | Routing of traffic in a multi-domain network |
-
2003
- 2003-01-31 US US10/356,392 patent/US8081642B2/en not_active Expired - Fee Related
-
2011
- 2011-10-28 US US13/284,782 patent/US20120044934A1/en not_active Abandoned
- 2011-10-28 US US13/284,778 patent/US9172556B2/en not_active Expired - Fee Related
-
2015
- 2015-09-15 US US14/854,970 patent/US10432555B2/en not_active Expired - Fee Related
-
2019
- 2019-08-29 US US16/554,623 patent/US11115349B2/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529963B1 (en) * | 1998-12-29 | 2003-03-04 | Lsi Logic Corporation | Methods and apparatus for interconnecting independent fibre channel fabrics |
US6834311B2 (en) * | 2001-04-04 | 2004-12-21 | Sun Microsystems, Inc. | Method, system, and program for enabling communication between devices using dynamic addressing |
US7616637B1 (en) * | 2002-04-01 | 2009-11-10 | Cisco Technology, Inc. | Label switching in fibre channel networks |
US8055794B2 (en) * | 2004-01-29 | 2011-11-08 | Brocade Communications Systems, Inc. | Isolation switch for fibre channel fabrics in storage area networks |
US8135858B2 (en) * | 2004-01-29 | 2012-03-13 | Brocade Communications Systems, Inc. | Isolation switch for fibre channel fabrics in storage area networks |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120044933A1 (en) * | 2003-01-31 | 2012-02-23 | Brocade Communications Systems, Inc. | Method and apparatus for routing between fibre channel fabrics |
US9172556B2 (en) * | 2003-01-31 | 2015-10-27 | Brocade Communications Systems, Inc. | Method and apparatus for routing between fibre channel fabrics |
Also Published As
Publication number | Publication date |
---|---|
US8081642B2 (en) | 2011-12-20 |
US20190386932A1 (en) | 2019-12-19 |
US9172556B2 (en) | 2015-10-27 |
US20040151174A1 (en) | 2004-08-05 |
US20120044933A1 (en) | 2012-02-23 |
US10432555B2 (en) | 2019-10-01 |
US20160006674A1 (en) | 2016-01-07 |
US11115349B2 (en) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11115349B2 (en) | Method and apparatus for routing between fibre channel fabrics | |
US7606239B2 (en) | Method and apparatus for providing virtual ports with attached virtual devices in a storage area network | |
US7269168B2 (en) | Host bus adaptor-based virtualization switch | |
US7120728B2 (en) | Hardware-based translating virtualization switch | |
US7533256B2 (en) | Method and apparatus for encryption of data on storage units using devices inside a storage area network fabric | |
US7277431B2 (en) | Method and apparatus for encryption or compression devices inside a storage area network fabric | |
US7174390B2 (en) | Address resolution protocol system and method in a virtual network | |
US7231430B2 (en) | Reconfigurable, virtual processing system, cluster, network and method | |
US7197047B2 (en) | Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network | |
US7743178B2 (en) | Method and apparatus for SATA tunneling over fibre channel | |
US6401128B1 (en) | System and method for sending and receiving frames between a public device and a private device | |
US6971044B2 (en) | Service clusters and method in a processing system with failover capability | |
US6041063A (en) | High availability, scaleable bandwidth, multiport ATM-emulated LAN interface | |
US20040028043A1 (en) | Method and apparatus for virtualizing storage devices inside a storage area network fabric | |
US12072823B2 (en) | Flexible high-availability computing with parallel configurable fabrics | |
US6965934B1 (en) | Encapsulation protocol for linking storage area networks over a packet-based network | |
JP2004503122A (en) | Method and apparatus for transferring data between different network devices via an IP network | |
EP1482711A2 (en) | Virtual networking system and method in a processing system | |
US7103711B2 (en) | Data logging by storage area network devices to a reserved storage area on the network | |
JP2011507065A (en) | Control path I / O virtualization method | |
US20020141333A1 (en) | Segmented fibre channel arbitrated loop and intra-loop routing system | |
US20040143682A1 (en) | Network switch containing a hard disk drive | |
Munson | Introduction To Fibre Channel Connectivity. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |