9. The method of claim 1 wherein the query message is sent via in-band communications.
10. The method of claim 1 wherein the routing devices of the network are identified via the received responses.
11. The method of claim 10 wherein when a routing device is identified, retrieving an indication of which of the ports of the routing device are connected to another port.
12. The method of claim 1 wherein the retrieving of an indication of which of the ports of the routing devices are connected to another port includes sending a request to the routing device.
13. The method of claim 1 wherein the retrieving of an indication of which ports of the routing devices are connected to another port includes receiving a message from the routing device.
14. The method of claim 1 wherein each routing device determines which of its ports are connected to another port and the retrieving of an indication of which of the ports of the routing devices are connected to another port includes transmitting the determined information to a network manager.
15. A network manager for identifying topology of a network, the network including a plurality of routing devices, each routing device having ports, comprising: a component that retrieves indications of which of the ports of the routing devices are connected to another port; and a component that sends a query message through each port that is indicated as connected to another port to the other port and that receives a response from the other port identifying the other device and the other port.
16. The network manager of claim 15 including a component that generates a mapping from each routing device and port to the device and port to which it is connected to indicate the topology of the network.
17. The network manager of claim 15 wherein a routing device is a switch.
18. The network manager of claim 15 wherein a routing device is an interconnect fabric module.
19. The network manager of claim 15 wherein the routing devices use virtual addresses to route messages.
20. The network manager of claim 19 including a component that configures each routing device with routing data for virtual addresses.
21. The network manager of claim 20 wherein each frame of data identifies a destination virtual address.
22. The network manager of claim 15 wherein the query message is sent via out-of-band communications.
23. The network manager of claim 15 wherein the query message is sent via in-band communications.
24. The network manager of claim 15 wherein the routing devices of the network are identified via the received responses.
25. The network manager of claim 24 wherein the component that retrieves an indication of which of the ports of the routing device are connected to a another port retrieves the indication when a routing device is identified.
26. The network manager of claim 25 wherein the component that retrieves an indication sends a request to a routing device.
27. The network manager of claim 15 wherein the component that retrieves an indication of which ports of the routing devices are connected to another port includes receiving a message from the routing device.
28. The network manager of claim 15 wherein each routing device determines which of its ports are connected to other ports and the retrieving of an indication of which of the ports of the routing devices are connected to another port includes receiving the determinations from the routing devices.
29. A method for identifying topology of a network, the network including a plurality of switches, each switch having ports, each port of a switch either being connected to another port or not connected to another port, the method comprising: under control of each switch, determining whether each port of the switch is connected to a connected-to port; and under control of a network manager, for each of the switches, retrieving an indication of which of the ports of the switch are connected to a connected-to port; and for each port that is connect to a connected-to port, sending a query message through that port to the connected-to port; and receiving a response from the connected-to port identifying the connected-to device and connected-to port wherein mappings from each switch and port to its connect-to device and connected-to port indicates the topology of the network.
30. The method of claim 29 wherein processing of the network manager is distributed to the switches.
31. The method of claim 29 wherein the query message is sent via out-of- band communications.
32. The method of claim 29 wherein the sending of the connect-to query message is sent via in-band communications of the network.
33. The method of claim 32 wherein the network manager identifies switches of the network via the received responses.
34. The method of claim 33 wherein when a switch is identified, the network manager performs the retrieving of the indications of which of the ports of the switch are connected to a connected-to port.
35. The method of claim 29 wherein the connected-to device is a node.
36. The method of claim 29 wherein the connected-to device is a switch.
37. A network manager for identifying topology of a network, the network including a plurality of routing devices, each routing device having ports, comprising: means for retrieving indications of which of the ports of the routing devices are connected to another port; and means for sending a query message through each port that is indicated as connected to another port to the other port and that receives a response from the other port identifying the other port.
38. The network manager of claim 37 including a component that generates a mapping from each port to its connected-to port to indicate the topology of the network.
39. The network manager of claim 37 wherein a routing device is a switch.
40. The network manager of claim 37 wherein a routing device is an interconnect fabric module.
41. The network manager of claim 37 wherein the routing devices use virtual addresses to route messages.
42. A method in a computer system for reconfiguring a path between a source node and a destination node, the method comprising: establishing a first path between the source node and the destination node, the path having a virtual address; providing the virtual address to the source node for use in transmitting data from the source node to the destination node via the established path; and after providing the virtual address to the source node, establishing a second path between the source node and the destination node so that when the source node transmits data using the provided virtual address the data is transmitted via the second path rather than via the first path.
43. The method of claim 42 wherein the establishing of the second path is performed transparently to the source node.
44. The method of claim 42 wherein the path is established through a network of switches.
45. The method of claim 42 wherein the path is established through switches with ports and wherein the establishing of a path includes identifying a source-side port and a destination-side port for each switch.
46. The method of claim 45 wherein the establishing of the path includes providing the virtual address to each source-side port of a switch in the path.
47. The method of claim 46 wherein the virtual address of source-side port is used to map the source-side port to the destination-side port of the switch.
48. The method of claim 42 including identifying a virtual address for sending data from the source node to the destination node, the identified virtual address being provided to the source node.
49. The method of claim 48 wherein the identified virtual address is not currently used by any source-side ports of the switches.
50. The method of claim 48 wherein each port of each switch has a virtual address table for mapping virtual addresses to another port of the switch.
51. The method of claim 42 wherein when data is received at a port of a switch, the virtual address of the data is used to retrieve an indication of another port and the data is sent out of the switch through the other port.
52. The method of claim 42 wherein the establishing of path from the source node to the destination node includes identifying a source-side port and a destination- side port of each switch in the path.
53. The method of claim 42 wherein the data is a Fibre Channel frame.
54. The method of claim 42 wherein the switches are Fibre Channel compatible.
55. The method of claim 42 wherein the switches are interconnect fabric modules.
56. A computer system for reconfiguring a path between a source node and destination nodes, comprising: a component that establishes a first path between the source node and a first destination node, the path having a virtual address, the first path being identified by a virtual address, so that when the source node transmits data using the virtual address, the data is transmitted via the first path; and a component that, after establishing the first path, establishes a second path between the source node and a second destination node, the second path being identified by the virtual address so that when the source node transmits data using the provided virtual address after the second path is established, the data is transmitted via the second path.
57. The computer system of claim 56 including:
a component that provides the virtual address to a source node for use in transmitting data via the first path before the second path is established and via the second path after the second path is established.
58. The computer system of claim 56 wherein the establishing of the second path is performed transparently to the source node.
59. The computer system of claim 56 wherein the path is established through a network of switches.
60. The computer system of claim 56 wherein the paths are established through switches with ports and wherein the establishing of a path includes identifying a source-side port and a destination-side port for each switch in the path.
61. The computer system of claim 60 wherein the virtual address is used by source-side ports to map the source-side port to the destination-side port of the switch.
62. The computer system of claim 56 including: a component that identifies a virtual address for sending data from the source node to a destination node, the identified virtual address being provided to the source node.
63. The computer system of claim 62 wherein the identified virtual address is not currently used by any source-side ports of the switches.
64. The computer system of claim 62 wherein each port of each switch has a virtual address table for mapping virtual addresses to another port of the switch.
65. The computer system of claim 56 wherein when data is received at a port of a switch, the virtual address of the data is used to retrieve an indication of another port and the data is sent out of the switch through the other port.
66. The computer system of claim 56 wherein the data is a Fibre Channel frame.
67. The computer system of claim 56 wherein the data is an InfiniBand frame.
68. The computer system of claim 56 wherein the first destination node and the second destination node are different nodes.
69. The computer system of claim 56 wherein the first destination node and the second destination node are the same node.
70. A computer system for reconfiguring a path between a source node and a destination node, comprising: means for establishing a first path between the source node and the destination node, the path having a virtual address; and means for establishing a second path between the source node and the destination node so that data transmitted using the virtual address is routed via the first path before the second path is established and via the second path after the second path is established.
71. The computer system of claim 70 including: means for providing the virtual address to the source node for use in transmitting data to the destination node.
72. The computer system of claim 70 wherein the establishing of the second path is performed transparently to the source node.
73. The computer system of claim 70 wherein the path is established through a network of switches.
74. The computer system of claim 73 wherein the paths are established through switches with ports and wherein the means for establishing of a path includes identifying a source-side port and a destination-side port for each switch in the path.
75. The computer system of claim 74 wherein the virtual address is used by source-side ports to map the source-side port to the destination-side port of the switch.
76. The computer system of claim 73 wherein the switches are interconnect fabric modules.
77. The computer system of claim 70 including: means for identifying a virtual address for sending data from the source node to the destination node and means for providing the virtual address to the source node.
78. The computer system of claim 11 wherein the identified virtual address is not currently used by any source-side ports of switches of the path.
79. The computer system of claim 77 wherein each port of each switch has a virtual address table for mapping virtual addresses to another port of the switch.
80. The computer system of claim 70 wherein the path comprises switches with ports and when data is received at a port of a switch, the virtual address of the data is used to retrieve an indication of another port and the data is sent out of the switch through the other port.
81. The computer system of claim 70 wherein the data is a Fibre Channel frame.
82. The computer system of claim 70 wherein the data is an InfiniBand frame.
83. A method in a computer system for establishing a path between a source node and a destination node, the method comprising: identifying ports of switches forming a path between the source node and the destination node, each switch of the path having a source-side port and a destination-side port;
identifying a virtual address for sending data from the source node to the destination node such that the virtual address is not currently used by any of the source-side ports; and setting each of the source-side ports to switch data sent to the identified virtual address through the destination-side port of its switch.
84. The method of claim 83 including: identifying a virtual address for sending data from the destination node to the source node such that the virtual address is not currently used by any of the destination-side ports; and setting each of the destination-side ports to switch data sent to the identified virtual address through the source-side port of its switch.
85. The method of claim 83 wherein each port of each switch has a virtual address table for mapping virtual addresses to another port of the switch.
86. The method of claim 83 wherein when data is received at a port of a switch, the virtual address of the data is used to retrieve an indication of another port and the data is sent out of the switch through the other port.
87. The method of claim 83 wherein a path is established between the source node and each of a plurality of destination nodes by identifying ports of switches for each path.
88. The method of claim 83 wherein the data is a Fibre Channel frame.
89. The method of claim 83 wherein the switches are Fibre Channel compatible.
90. The method of claim 83 wherein the switches are interconnect fabric modules.
91. The method of claim 83 wherein when a port of a switch receives data with a virtual address that has not been set for the port, the port does not forward the data.
92. A method for establishing a path between a source node and a destination node through a network of routing devices, the method comprising: identifying ports of routing devices forming a path between the source node and the destination node, each routing device of the path having an identified source-side port and an identified destination-side port; identifying a virtual address for sending data from the source node to the destination node; and setting each of the identified source-side ports to route data sent to the identified virtual address through the identified destination-side port of its routing device.
93. The method of claim 92 including: identifying a virtual address for sending data from the destination node to the source node; and setting each of the identified destination-side ports to route data sent to the identified virtual address through the identified source-side port of its routing device.
94. The method of claim 92 wherein a routing device is a switch.
95. The method of claim 92 wherein each routing device has a virtual address table for mapping virtual addresses to another port of the routing device.
96. The method of claim 92 wherein when data is received at a port of a routing device, the virtual address of the data is used to retrieve an indication of another port and the data is sent out of the routing device through the other port.
97. The method of claim 92 wherein a path is established between the source node and each of a plurality of destination nodes by identifying ports of routing devices for each path.
98. The method of claim 92 wherein the data is a Fibre Channel frame.
99. The method of claim 92 wherein the data is an InfiniBand frame.
100. The method of claim 92 wherein the routing devices are interconnect fabric modules.
101. The method of claim 92 wherein when a routing device receives data with a virtual address that has not been set for the routing device, the routing device does not forward the data.
102. The method of claim 92 wherein the identified virtual address is not currently used by any of the identified source-side ports.
103. The method of claim 92 wherein the identified virtual address is currently used by an identified source-side port when part of the path is shared by two source nodes sending data to the same destination node.
104. The method of claim 92 including providing the identified virtual address to the source node for use in sending data to the destination node.
105. A network manager for establishing a path between a source node and a destination node through a network of switches, comprising: a component that identifies switches forming a path between the source node and the destination node; a component that identifies a virtual address for sending data from the source node to the destination node through the identified switches; and
a component that configures each of the identified switches to route data sent to the identified virtual address through the identified switches from the source node to the destination node.
106. The network manager of claim 105 including: a component that identifies a virtual address for sending data from the destination node to the source' node; and a component that configures each of the identified switches to route data sent to the identified virtual address through the identified switches from the destination node to the source node.
107. The network manager of claim 105 including: a component that identifies switches forming a path between the destination node and the source node.
108. The network manager of claim 107 wherein the path from the source node to the destination node includes one port that is not in the path from the destination node to the source node.
109. The network manager of claim 107 wherein the path from the source node to the destination node is different from the path from the destination node to the source node.
110. The network manager of claim 105 wherein each switch has ports with a mapping of virtual addresses to another port of the switch.
111. The network manager of claim 105 wherein when data is received at a port of a switch, the identified virtual address is used to retrieve an indication of another port of the switch through which the data is transmitted.
112. The network manager of claim 105 wherein a path is established between the source node and each of a plurality of destination nodes by identifying ports of switches for each path.
113. The network manager of claim 105 wherein the data is a Fibre Channel frame.
114. The network manager of claim 105 wherein the data is an InfiniBand frame.
115. The network manager of claim 105 wherein the switches are interconnect fabric modules.
116. The network manager of claim 105 wherein when a port of a switch receives data with a virtual address that has not been set for the port, the port does not forward the data.
117. The network manager of claim 105 wherein each switch has a source- side port and the identified virtual address is not currently used by any of the source- side ports.
118. The network manager of claim 105 wherein each switch has a source- side port and the identified virtual address is currently used by a source-side port when part of the path is shared by two source nodes sending data to the same destination node.
119. A network manager for establishing a path between a source node and a destination node through a network of routing devices, comprising: means for identifying ports of routing devices forming a path between the source node and the destination node, each routing device of the path having an identified source-side port and an identified destination-side port; means for identifying a virtual address for sending data from the source node to the destination node; and setting each of the identified source-side ports to route data sent to the identified virtual address through the identified destination-side port of the routing device.
120. The network manager of claim 119 including: means for identifying a virtual address for sending data from the destination node to the source node; and means for setting each of the identified destination-side ports to route data sent to the identified virtual address through the identified source-side port of the routing device.
121. The network manager of claim 119 wherein a routing device is a switch.
122. The network manager of claim 119 wherein each port of each routing device has a means for mapping virtual addresses to another port of the routing device.
123. The network manager of claim 119 including means for, when data is received at a port of a routing device, retrieving an indication of another port using the identified virtual address and sending the data out of the routing device through the other port.
124. The network manager of claim 119 including means for establishing a path between the source node and each of a plurality of destination nodes by identifying ports of routing devices for each path.
125. The network manager of claim 119 wherein the data is a Fibre Channel frame.
126. The network manager of claim 119 wherein the data is an InfiniBand frame.
127. A method in a switch for transmitting frames to a network manager, the method comprising: receiving a frame having a destination virtual address; and upon receiving the frame,
determining whether the destination virtual address of the frame is reserved; when the destination virtual address of the frame is reserved, determining whether another virtual address of the frame maps to a port of the switch; when the other virtual address of the frame maps to a port of the switch, transmitting the frame via the mapped-to port; and when the other virtual address of the frame does not map to a port of the switch, transmitting the frame to the network manager.
128. The method of claim 127 wherein the destination virtual address and the other virtual address are stored in a header of the frame.
129. The method of claim 127 wherein the determining of whether another virtual address of the frame maps to a port of a switch includes checking a mapping of virtual addresses to ports.
130. The method of claim 129 wherein each port of the switch has its own mapping.
131. The method of claim 127 wherein the transmitting of the frame via the mapped-to port transmits the frame to the network manager.
132. The method of claim 127 wherein the mapped-to port transmits the frame via in-band communications.
133. The method of claim 127 wherein the network manager transmits the frame via out-of-band communications.
134. The method of claim 127 wherein the network manager is distributed to devices connected to switches and the network manager transmits the frame via an out-of-band communications to a device connected to the switch.
135. The method of claim 127 wherein the network manager is centralized and the frame is transmitted to the network manager via in-band communications.
136. A method in a routing device for transmitting frames to a network manager, the method comprising: receiving a frame having a virtual address; and determining whether the virtual address of the frame is reserved; when the virtual address of the frame is reserved, providing the frame to the network manager; when the virtual address of the frame is not reserved, transmitting the frame via a port of the routing device based on a mapping of virtual addresses to ports.
137. The method of claim 136 wherein the providing of the frame to the network manager includes: determining whether another virtual address of the frame maps to a port of the routing device, when the other virtual address of the frame maps to a port of the routing device, transmitting the frame via the mapped-to port; and when the other virtual address of the frame does not map to a port of the switch, transmitting the frame directly to the network manager.
138. The method of claim 137 wherein the virtual address and the other virtual address are stored in a header of the frame.
139. The method of claim 137 wherein the determining of whether another virtual address of the frame maps to a port of the routing device includes checking a mapping of virtual addresses to ports.
140. The method of claim 139 wherein each port of the routing device has its own mapping.
141. The method of claim 136 the routing device is a switch.
142. The method of claim 136 wherein the providing of the frame to the network manager transmits the frame via out-of-band communications.
143. The method of claim 136 wherein the network manager is distributed to devices connected to routing devices and the providing of the frame to the network manager transmits the frame via out-of-band communications to a device connected to the routing device.
144. A routing device for transmitting data to a network manager, comprising: a component that receives data having a virtual address; and a component that, when the virtual address of the data is reserved, provides the data to the network manager and that, when the virtual address is not reserved, transmits the data via a port of the routing device based on a mapping of virtual addresses to ports.
145. The routing device of claim 144 wherein the providing of the data to the network manager includes: a component that, when the other virtual address of the data maps to a port of the routing device, transmits the data via the mapped-to port and, when the other virtual address does not map to a port of the routing device, transmits the frame directly to the network manager.
146. The routing device of claim 145 wherein the virtual address and the other virtual address are stored in a header of the data.
147. The routing device of claim 146 wherein each port of the routing device has its own mapping.
148. The routing device of claim 144 the routing device is a switch.
149. The routing device of claim 144 wherein the providing of the data to the network manager transmits the data via out-of-band communications.
150. The routing device of claim 144 wherein the network manager is distributed to devices connected to routing devices and the providing of the data to the network manager transmits the data via an out-of-band communications to a device connected to the routing device.
151. A switch for transmitting data to a network manager, comprising: means for receiving data having a virtual address; and means for providing the data to the network manager when the virtual address of the data is reserved and for transmitting the data via a port of the routing device based on a mapping of virtual addresses to ports when the virtual address of the data is not reserved.
152. The switch of claim 151 wherein the providing of the data to the network manager includes: means for transmitting the data via a mapped-to port when the virtual address of the data maps to a port of the switch and for transmitting the data directly to the network manager when the other virtual address of the data does not map to a port of the switch.
153. The switch of claim 151 wherein the virtual address and the other virtual address are stored in a header of the data.
154. The switch of claim 153 wherein each port of the switch has its own mapping.
155. The switch of claim 154 wherein the providing of the data to the network manager transmits the data via out-of-band communications.
156. The switch of claim 151 wherein the network manager is distributed to devices connected to switches and the providing of the data to the network manager transmits the data via out-of-band communication to a device connected to the switch.