MPISynqNetNodeTopology

Definition

typedef struct MPISynqNetNodeTopology {
	const char     *nodeName;
	uint32_t   nodeType;
	uint32_t   option;
	uint32_t   fpgaVendorDevice;
	uint32_t   switchId;
	uint32_t   unique;
	char            serialNumber[MPISqNodeID_CHAR_MAX];
} MPISynqNetNodeTopology;

 

Required Header: stdmpi.h
Change History: Added in 04.00.

Description

MPISynqNetNodeTopology contains the topology information for a single node on a SynqNet network. It is a subset of MPISqNodeInfoId.

nodeName A string that represents the SynqNet node type.
nodeType A 32 bit value identifying the node hardware. The upper 16 bits represent the manufacturer of the SynqNet node hardware. Each manufacturer has a unique value. The lower 16 bits represent the SynqNet node product type. The SynqNet node manufacturer determines a unique value to track a product series. Typically, the node type value is displayed in hexadecimal format.
option The product option code within a product series.
fpgaVendorDevice A 32 bit value identifying the FPGA image. The upper 16 bits represent the manufacturer of the SynqNet node network interface device. Each manufacturer has a unique vendor value. The lower 16 bits represent the SynqNet node network interface component. The device is typically an FPGA or ASIC. If the device is an FPGA, the vendorDevice information is stored in the FPGA binary image. Each device for a particular vendor has a unique device value. Typically, the vendorDevice value is displayed in hexadecimal format.
switchID switchId contains the value to which the switch is set if a node/drive has a physical address switch on its faceplate. If an ID switch is not supported by a node or communication with the node has failed, this value is set to -1 (0xFFFFFFFF).
unique> A 32 bit value identifying the node. The SynqNet node manufacturer determines this unique value to track a single product. This is useful to determine when individual nodes of the same type are switched or replaced on a SynqNet network.
serialNumber A string that represents the SynqNet node serial number. For a given node type, the serial number is unique. The SynqNet node manufacturer determines the serial number to track an individual unit. If communication with the node has failed, this value is NA (Not Available).

Sample Code

/* Get the discovered topology */
	returnValue = mpiSynqNetTopologyDiscovered(synqNet, &topologyDiscovered);
	msgCHECK(returnValue);

	/* Display the discovered nodes */
	nodeCount = topologyDiscovered.nodeCount;
	for (nodeIndex = 0; nodeIndex < nodeCount; nodeIndex++) {
		MPISynqNetNodeTopology	*nodeDiscovered;

		nodeDiscovered = &topologyDiscovered.nodeTopology[nodeIndex];

		fprintf(output, "    Node %lu:\n", nodeIndex);
		fprintf(output, "            Name: %s\n", nodeDiscovered->nodeName);
		fprintf(output, "            Type: 0x%.8lX\n", 
			nodeDiscovered->nodeType);
		fprintf(output, "          Option: 0x%.8lX\n", 
			nodeDiscovered->option);
		fprintf(output, "            FPGA: 0x%.8lX\n", 
			nodeDiscovered->fpgaVendorDevice);
		fprintf(output, "        switchId: 0x%.8lX\n", 
			nodeDiscovered->switchId);
		fprintf(output, "          unique: 0x%.8lX\n", 
			nodeDiscovered->unique);
		fprintf(output, "        serial #: %s\n", 
			nodeDiscovered->serialNumber);
	}

See Also

MPISynqNetTopology | mpiSynqNetTopologyDiscovered