General Services Managers

Role of GSMs

In addition to the SM and SA, the devices within a subnet are also managed by a group of managers collectively referred to as the General Services Managers (GSMs; also referred to as class managers). The GSMs include:

  • Performance Manager (PM). Retrieves performance statistics and error information from devices.

  • Baseboard Manager (BM). Has access to components that reside behind a device's IBA interface (i.e., behind the CA that interfaces it to the IBA fabric). Example applications would be chassis temperature monitoring and the enablement of graceful hot-plug operations.

  • Device Manager (DM). Provides the means to perform IOC and IOU management. The DM manipulates DM-related attributes in an IOU or IOC by sending DM GMP MADs to the IOU's DMA for execution.

  • Vendor-specific Manager. Permits a vendor to define a set of general purpose methods that may be used to access the vendor's device-specific attributes. Vendors are free to define new access methods and attributes.

  • Application-specific Manager. Provides a set of general-purpose access methods. Applications are free to define new access methods and attributes.

  • Communications Management (CM). Provides the mechanisms to establish, terminate, and migrate connections between QPs or EECs, and provides basic service ID resolution.

  • SNMP tunneling Manager. Provides a set of access methods, data formats, and attributes to support SNMP tunneling. The SNMP packet is embedded within an IBA-compliant management packet.

A detailed description of the GSMs can be found in “Part 7: General Services” on page 985.

Where Do the GSMs Reside?

The following is a direct quote from the specification:

“IBA version 1.0 does not otherwise mandate the existence of, the location of, or, operational characteristics of GSMs.”

How the GSMs Communicate With Devices

General Services Management Interface and GMPs

A special QP, QP1, is used by the GSMs:

  • To send General Services Management request Packets (GMPs) to QP1 on the target device. The request packet supplies the target device with:

    - Class. Identifies which GSM sent this request GMP and therefore to which of the GSAs within the destination device it should be routed for processing.

    - Attribute ID. Identifies the device attribute that some action (i.e., method) is to be performed on.

    - Method. Specifies the action to be taken on the indicated attribute.

    - Attribute Modifier. Some attribute/method combinations also require the specification of an attribute modifier.

    - Data. The usage of this field is defined by the attribute/method combination.

  • To receive General Services Management response Packets (GMPs). Upon receipt of a GMP request packet, the destination device uses the GMP's Class field to route it to the appropriate GSA for processing. That GSA performs the specified method on the specified attribute and returns a GMP response packet to the respective GSM. The response packet indicates the results of the requested action.

QP1 is referred to as the General Services Interface (GSI). A GMP is a form of Management Datagram, or MAD.

Multiport CAs and Routers Implement Multiple GSIs

Each port on a CA or router implements a GSI (i.e., QP1) to send and receive GMP packets.

Switch Implements One GSI on Port 0

On a switch, only switch port 0 (its management port) implements a GSI. A GMP request packet received on any other switch port with its DLID set to port 0's LID address is internally forwarded to port 0's GSI for processing. If the packet's DLID does not match port 0's LID address, the GMP packet is treated like any packet enroute to its final destination. The switch performs a lookup in its Forwarding Table using the packet's DLID to determine through which of its ports the packet will be forwarded.

General Services Management Agents

Refer to Figure 9-4 on this page. When a GMP request packet is received on any of the device's GSIs, the GMP is passed to the appropriate GSA for processing of the request. The GSI uses the Class field within the GMP to determine which of the GSAs the request GMP should be passed to for processing.

Figure 9-4. GSI/GSA Relationship


The respective GSA performs the operation defined by the request GMP and then returns a GMP response packet to the GSI that had received the request GMP. The GSI transmits the response GMP back to the GSM that issued the request.

Must a Device Implement the GSAs?

Table 9-1 on page 170 lists each of the GSA types and indicates whether or not a device must implement each of them. It should be noted that the Communications Manager (CM) and the Communications Management Agent (CMA) are one and the same. When software requires that a communications channel be established between same-type QPs in the local and remote CA, it causes the CMs associated with the two CAs to exchange a series of communications establishment messages to accomplish the setup of the two QPs (for more information, refer to “Intro to Connection Establishment” on page 183).

Table 9-1. GS Class Management Agents
Class Management AgentMandatory?Description
Communications Management Agent (CMA)Yes (only on CAs)Provides mechanisms to establish, terminate, and migrate connections between QPs or EECs, and provides basic service ID resolution. It should be noted that the Communications Manager (CM) and the Communications Management Agent (CMA) are one and the same. When software requires that a communications channel be established between same-type QPs in the local and remote CA, it causes the CMs associated with the two CAs to exchange a series of communications establishment messages to accomplish the setup of the two QPs (for more information, refer to “Intro to Connection Establishment” on page 183).
Performance Management Agent (PMA)Yes (on all device types)Enables the Performance Manager (PM) to retrieve performance statistics and error information from a device. Each device (except a repeater) incorporates a PMA. The PM issues a GMP MAD to the PMA specifying that a specified method be executed upon a specified, PM-related device attribute. The device's PMA executes the request and, in most cases, sends a response GMP MAD back to the PM with the results.
Baseboard Management Agent (BMA)Yes (on all device types)Provides the means to pass messages to components residing behind the CA interface (e.g., chassis temperature monitoring and to control hardware residing behind a CA). Each device (except a repeater) incorporates a BMA. The BM issues a GMP MAD to the BMA specifying that a specified method be executed upon a specified BM-related device attribute. The device's BMA executes the request and, in most cases, sends a response GMP MAD back to the BM with the results.
Device Management Agent (DMA)Yes (but only on an IOU)Provides the means to perform IOC/IOU management. Each IOU incorporates a DMA. The DM issues a GMP MAD to the DMA specifying that a specified method be executed upon a specified DM-related device attribute. The device's DMA executes the request and, in most cases, sends a response GMP MAD back to the DM with the results.
SNMP Tunneling Management AgentNoAn SNMP manager embeds (i.e., tunnels) SNMP packets within GMP MADs and sends them to a device's SNMP Management Agent, which then acts upon the embedded SNMP packet.
Vendor-specific Management AgentNoA Vendor-specific manager can send vendor-specific management messages to a device's Vendor-specific Management Agent, which then acts upon the embedded message.
Application-specific Management AgentNoAn application-specific manager can send application-specific management messages to a device's Application- specific Management Agent, which then acts upon the embedded message.

Determining Whether a GSA Is Implemented

There are two ways to determine whether a GSA is implemented on a given device:

  1. Timeout waiting for response to a Get(ClassPortInfo) for a given Class. The specification defines two timeouts that a requester uses to determine how long is too long to wait for a response for a MAD. They are:

    - PortInfo.SubnetTimeout attribute element of the port issuing the request MAD. Specifies the maximum expected propagation delay to reach any other port in the subnet from the port that is issuing the request MAD. Requesters may use this value along with the appropriate RespTimeValue (see next bullet item), to determine how long to wait for a response to a request before taking other action. The time period is defined as 4.096 microseconds X 2PortInfo.SubnetTimeout.

    - PortInfo.RespTimeValue attribute element of the port acting as the target of the request MAD. For MAD request-response exchanges consisting of a single packet request followed by a single packet response, specifies the expected maximum time interval between reception of the request and the transmission of the response. The time period is defined as 4.096 microseconds X 2RespTimeValue.

    The expected maximum time interval between transmission of a request and receipt of the associated response is:

    (2 X (4.096microseconds X 2PortInfo.SubnetTimeout)) + (4.096microseconds X 2RespTimeValue.)

  2. Read the PortInfo.CapabilityMask attribute element from a port on the target device. This attribute element has bits indicating whether or not the optional GSAs are supported on the device. The optional GSAs are:

    - Communications Management Agent (CMA). The CMA is required on CAs, but not on switches or routers.

    - SNMP Tunneling Agent.

    - Device Management Agent (DMA).

    - Vendor-specific Management Agent.

An Example GSM Attribute Access

A GSM performs an attribute access in the following manner (refer to Figure 9-1 on page 164 and Figure 9-2 on page 165):

  1. Build MAD in memory. The GSM builds a 256-byte MAD in main memory (item C). The content of this MAD specifies the following:

    - Class = a class name from Table 9-2 on page 174.

    - Method = action to be performed on the targeted attribute (e.g., Get or Set).

    - Attribute ID = ID of attribute to be acted upon.

    - Attribute Modifier (if applicable).

    - Data.

  2. Post WR to QP1's SQ. The GSM executes a Post Send Request verb call (item D) to post a WR to the SQ (item J) of the QP1 associated with the port that it will use to transmit the GMP. QP1 is a special-purpose QP tasked with sending and receiving GMPs. The WR specifies the start memory address that contains the MAD to be sent. It also specifies the LID address of the port to which the GMP is to be delivered and to which QP behind that port (GMPs must be delivered to the port's QP1; this is the port's General Services Interface, or GSI, QP).

  3. Post WR to QP1's RQ. In addition, the GSM executes a Post Receive Request verb call to post a WR to QP1's RQ to handle the subsequent response GMP that will be returned by the GSA in the device. The WR's Scatter Buffer List specifies where the inbound MAD is to be written in memory.

  4. Packet Transmitted. The QP1 SQ Logic (item L) reads the 256-byte MAD from main memory and places it in the data payload field of an UD Send-Only GMP. The GMP is forwarded to the HCA port associated with this QP1 for transmit. The packet's DLID is set to the LID address of the destination port. The BTH:DestQP is set to QP1 (the destination port's GSI).

  5. Packet Arrival at destination port. The GMP traverses one or more links until it arrives at the destination port.

  6. Sent to port's GSI. The packet is delivered to the RQ Logic (item Q) of the port's GSI (it's QP1).

  7. Sent to GSA. The GSI examines the MAD's Class field to determine to which of the device's GSAs the packet should be delivered for processing. The 256-byte MAD is delivered to the appropriate GSA for processing.

  8. Attribute action performed. The GSA performs the designated method (i.e., action) on the attribute indicated in the request GMP MAD.

  9. Response packet formed. The GSA then forms a GMP response packet and sends it back to the receiving port's GSI for transmission. The SLID and DLID fields that were in the GMP request packet are reversed in the response packet's LRH:SLID and LRH:DLID fields for the return journey. The BTH:DestQP field is set to QP1 (the HCA port's GSI QP).

  10. Response delivered to GSI. The packet is output onto the link, travels the same path back to the HCA port, and is delivered to that port's GSI (its QP1) RQ Logic for processing.

  11. Response deposited in memory. The GSI's RQ Logic uses the Scatter Buffer List in the top RQ WQE to determine where the 256-byte MAD response is to be deposited in memory (item C) and a CQE is created on the CQ (item F) associated with QP1's RQ. The completion status of the operation can be found in the CQE's Status field:

    - Status field: 16-bit field. Operation completion status. Only valid in a response MAD generated by the target in response to a request:

    - Lower 8 bits = status common to all classes. These are:

    • Busy, MAD discarded (not an error).

    • Redirect required (not an error).

    • Class not supported.

    • Method not supported.

    • Method/Attribute combination not supported.

    • One or more Attribute fields contain bad values.

    - Upper 8 bits = class-specific status.

  12. GSM informed. An interrupt is generated by the HCA to tell the GSM that the response is in memory.

Table 9-2. Specification's Abbreviations for Classes
ClassAbbreviationClass Name
Subnet ManagerSMSubn
Subnet AdministratorSASubnAdm
Communications ManagerCMComMgt
Performance ManagerPMPerf
Baseboard ManagementBMBM
Device ManagerDMDevMgt
SNMP TunnelingSNMPSNMP
Vendor-SpecificVendor-SpecificVendor
Application-SpecificApplication-SpecificApplication

GMP Redirection

GSI Is a Busy Port of Call

QP1 has a disadvantage in that inbound GMP MADs for all GS management classes are delivered to the same QP's RQ. QP1 can act as a bottleneck and cause blocking.

Device May Return Response Indicating New Port and QP

When a port receives a GMP on QP1, it may send back a GMP response packet with its Status field indicating that, from this time forward, all request GMPs for this class must be redirected to a different QP through the same or a different port. The GSI indicates this by returning a response GMP with the following characteristics:

  • Status field: Redirect Required bit set to one (see step 10 in “An Example GSM Attribute Access” on page 173 and Table 27-2 on page 776). This indicates that all the information necessary to resend this request and all future requests for this class can be found in the data field (it contains the ClassPortInfo attribute for that port).

  • Data field: contains the ClassPortInfo attribute that has all of the information necessary to access the desired GSA either in the same subnet or in a different subnet. ClassPortInfo contains:

    - RedirectGID. The GRH:DGID a requester must use in GMPs used to access the desired GSA. If redirection is not being performed, this is set to zero.

    - RedirectTC. The GRH:TClass a requester must use in GMPs used to access the desired GSA.

    - RedirectSL. The LRH:SL a requester must use to access the desired GSA.

    - RedirectFL. The GRH:FlowLabel a requester must use in GMPs used to access the desired GSA.

    - RedirectLID:

    - If non-zero, this port LID address is the LRH:DLID a requester must use to access the desired GSA.

    - If = 0, the redirect requires the requester to use the supplied RedirectGID to request further path resolution from the SA. The RedirectGID, the RedirectQP, and the RedirectP_Key from this redirect response are all valid, but the RedirectSL, RedirectFL, RedirectTC, and RedirectLID will in general not be valid; they must be replaced using a PathRecord obtained from the SA (refer to “PathRecord” on page 975).

    - RedirectP_Key. The P_Key a requester must use to access the desired GSA.

    - RedirectQP. The QP a requester must target to access the desired GSA. Zero is illegal.

    - RedirectQ_Key. The Q_Key associated with the RedirectQP. This Q_Key must be set to the controlled Q_Key normally associated with the GSI (i.e., 80010000h).

The GSM that sent the request GMP then resends the request to new address and uses that address for all subsequent requests for that same management class.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.96.40