Method and apparatus for detecting and reporting configuration errors in a multi-component switching fabric
First Claim
1. A method of verifying the configuration of a switching fabric that interconnects a plurality of end nodes into a cluster, the switching fabric including at least one switch and a plurality of links, each interconnected end node having a fabric management process, each switch having a plurality of ports, the method comprising:
- obtaining, from the switch, stored information and saving the stored information so as to be accessible to the fabric management process, the stored information being gathered by said switch;
determining from the stored information whether or not a link is connected to any one of said switch ports;
for each switch port having a link connected thereto, determining whether the stored information gathered by said switch and pertaining to each said switch port is valid;
for each switch port for which the gathered information is determined to be valid, performing a plurality of tests on the gathered information pertaining to each said switch port;
if the gathered information pertaining to each said switch port passes each test in at least a subset of the plurality of tests, enabling each said switch port for data traffic; and
otherwise, disabling each said switch port for data traffic.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of automating the verification of a fabric for interconnecting a cluster of end nodes. Switches within the fabric periodically access ports that are neighbors to ports of the switch to gather information about the neighboring port. This information is stored in the switch and is available for access by an end node fabric management process, which, after obtaining the information determines whether the information is valid, and subjects the information to a plurality of tests to determine whether the configurations of the switch and the connections made thereto are compatible and valid. If the configurations are compatible and valid, ports on the switch pertaining to the information are enabled for data transfer. If configurations are incompatible or invalid, ports on the switch are disabled.
86 Citations
38 Claims
-
1. A method of verifying the configuration of a switching fabric that interconnects a plurality of end nodes into a cluster, the switching fabric including at least one switch and a plurality of links, each interconnected end node having a fabric management process, each switch having a plurality of ports, the method comprising:
-
obtaining, from the switch, stored information and saving the stored information so as to be accessible to the fabric management process, the stored information being gathered by said switch;
determining from the stored information whether or not a link is connected to any one of said switch ports;
for each switch port having a link connected thereto, determining whether the stored information gathered by said switch and pertaining to each said switch port is valid;
for each switch port for which the gathered information is determined to be valid, performing a plurality of tests on the gathered information pertaining to each said switch port;
if the gathered information pertaining to each said switch port passes each test in at least a subset of the plurality of tests, enabling each said switch port for data traffic; and
otherwise, disabling each said switch port for data traffic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
13. An end node interconnected by a switching fabric to a plurality of other end nodes of a cluster, the switching fabric including at least one switch and a plurality of links, each switch having a plurality of ports, the end node comprising;
-
one or more processing units, each unit having a processor and a memory; and
at least one port for connecting one or more processing units to the switching fabric;
wherein the memory of at least one of the processing units of each end node contains a fabric management process that is configured to;
obtain, from the switch, stored information and save the stored information so as to be accessible to the fabric management process, the stored information being gathered by said switch;
determine, from the stored information, whether or not a link is connected to any one of said switch ports;
determine, for each switch port having a link connected thereto, whether the stored information gathered by said switch and pertaining to each said switch port is valid;
perform, for each switch port for which the gathered information is determined to be valid, a plurality of tests on the gathered information pertaining to each said switch port;
enable, if the gathered information pertaining to each said switch port passes each test in at least a subset of the plurality of tests, each said switch port for data traffic; and
disable each said switch port for data traffic, otherwise.
-
-
18. A switch comprising
a plurality of ports each configured to be connected to a port of another switch or a port of an end node in a cluster; -
routing hardware for routing packets from any of said plurality of switch ports to any other of said plurality of switch ports, said routing hardware including selective routing hardware control logic for enabling or disabling the transfer of data packets on each of said plurality of ports;
link alive hardware logic configured to allow the end nodes and switches to determine whether or not a port is connected to a live link;
an interval timer for repeatedly timing a scan interval and indicating the expiration thereof, a first memory having a program resident therein that includes a routine that is operative, upon the expiration of the scan interval, to;
select, in turn, each one of said plurality of ports;
determine, for each selected port, whether or not a gather info flag is set; and
for each selected port connected to a live link and having the gather info flag set, construct a ‘
gather neighbor info request’
, send the constructed request over each said selected port, and receive and store any response from any port connected to each said selected port;
said program further including a routine that is operative to return, upon request, via one of said plurality of ports, all stored responses;
a processor connected to the first memory, for executing programs resident in the first memory;
a second memory having a configuration file resident therein, said configuration file including a routing table that specifies how packets are to be routed between said plurality of ports.
-
-
37. A method of gathering port neighbor information in a switch having a plurality of ports, each configured to be connected to a port of another switch or port of an end node in a cluster, routing hardware for routing packets from any of said plurality of switch ports to any other of said plurality of switch ports, an interval timer for repeatedly timing a scan interval and indicating the expiration thereof, a memory having a configuration file resident therein, said configuration file including a routing table that specifies how packets are to be routed between said plurality of ports, the method comprising the steps of:
-
upon the expiration of the scan interval, selecting, in turn, each one of said plurality of ports;
determining, for each selected port, whether or not the port has live link and whether or not a gather info flag is set for the port; and
for each selected port connected to a live link and having the gather info flag set, constructing a ‘
gather neighbor info request’
, sending the constructed request over each said selected port, and receiving and storing any response from any port connected to each said selected port; and
upon receiving a request for the stored responses, returning the stored responses via one of said plurality of ports.
-
-
38. A computer readable medium having computer-executable instructions for performing a method of verifying the configuration of a switching fabric that interconnects a plurality of end nodes into a cluster, the switching fabric including at least one switch and a plurality of links, each interconnected end node having a fabric management process, each switch having a plurality of ports, the method comprising:
-
obtaining, from the switch, stored information and saving the stored information so as to be accessible to the fabric management process, the stored information being gathered by said switch;
determining from the stored information whether or not a link is connected to any one of said switch ports;
for each switch port having a link connected thereto, determining whether the stored information gathered by said switch and pertaining to each said switch port is valid;
for each switch port for which the gathered information is determined to be valid, performing a plurality of tests on the gathered information pertaining to each said switch port;
if the gathered information pertaining to each said switch port passes each test in at least a subset of the plurality of tests, enabling each said switch port for data traffic; and
otherwise, disabling each said switch port for data traffic.
-
Specification