Infiniband discovery and monitoring


Files

file  InfinibandNetwork.h
 Definition for Infiniband::DataSource, Infiniband::Statistics, and Infiniband::Network policy classes.
file  InfinibandNode.h
 Definition of Infiniband::Node class.
file  InfinibandPort.h
 Definition of Infiniband::Port class.

Namespaces

namespace  Infiniband
 Encapsulates Infiniband classes and data types.

Classes

class  Infiniband::Statistics
 Maintains statistics about an HCA node in an Infiniband Network by implementing the NodeData Node Statistics policy. More...
class  Infiniband::Network
 Implementation of the NodeData Node Network policy class to represent the Network element of an Infiniband node. More...
class  Infiniband::DataSource
 Methods and data structures for discovering nodes and switches connected to an Infiniband network. This class implements the ServerData DataSource policy. More...
class  Infiniband::Node
 Object representing a single node in an Infiniband network. More...
class  Infiniband::Port
 Object representing a single port of a node in an Infiniband network. More...

Typedefs

typedef std::map< uint64_t,
Node
NodeHashTable
 The associative container used to hold Infiniband Node objects as they are discovered. The key is the node's guid and the value is a Node object.

Enumerations

enum  Infiniband::Node::NodeType
 The type of an infiniband node, either a host channel adapter (HCA) or switch.

Functions

NodeHashTable::iterator addNodeToHash (Node &node)
 Insert a node into the hash table.
NodeHashTable::iterator handleSwitchPort (NodeHashTable::iterator switchIterator, int portnum)
 Find out what is connected to a switch's port, if anything.
void discoverSwitch (NodeHashTable::iterator switchIterator, uint32_t numHops)
 A recursive method to look through all the ports of a switch and find all the nodes connected to them.
void appendInfo (BambooLib::XMLElement *nodeElement, const std::string &hostname)
 Append the Network element for this particular node.

Variables

NodeHashTable nodeHashTable
 A hash table representing all the nodes in the Infiniband network. The key is the node's guid, the value is a Node object.
unsigned int maxHops = 63
 The maximum number of node hops to use while exploring the network.

Function Documentation

NodeHashTable::iterator addNodeToHash Node node  ) 
 

Insert a node into the hash table.

Parameters:
[in] node Reference to the Node object to insert into the hash table
Return values:
NodeHashTable::iterator Pointing to the newly inserted node if the insertion was successful (ex: no duplicate key)
NodeHashTable::iterator Pointing to nodeHashTable.end() if the insertion was not successful (ex: duplicate key)

void appendInfo BambooLib::XMLElement nodeElement,
const std::string &  hostname
 

Append the Network element for this particular node.

Parameters:
[in] nodeElement A pointer to the XMLElement to append the Network element
[in] hostname The hostname of the node to add
Precondition:
nodeElement is not NULL
Postcondition:
A Network element is added as a child element of the nodeElement if a matching hostname is found in our nodeHashTable

void discoverSwitch NodeHashTable::iterator  switchIterator,
uint32_t  numHops
 

A recursive method to look through all the ports of a switch and find all the nodes connected to them.

This method stops its recursion when the numHops parameter is greater than the static MAXHOPS variable

Parameters:
[in] switchIterator NodeHashTable::iterator pointing to the switch to discover
[in] numHops The current number of hops away from the root node

NodeHashTable::iterator handleSwitchPort NodeHashTable::iterator  switchIterator,
int  portnum
 

Find out what is connected to a switch's port, if anything.

Parameters:
[in] switchIterator The switch who's port we want to explore
[in] portnum The port number of the node to explore
Return values:
NodeHashTable::iterator Pointing to the remote node if we found a new node in the Infiniband network
NodeHashTable::iterator Pointing to nodeHashTable.end() if we found nothing or if we found an existing node


Generated on Wed Mar 8 14:43:33 2006 for Fountain by  doxygen 1.4.6