SA Accessed Using GMPs

Other entities access the SA database using GMPs (refer to Table 33-1 on this page) with the Management Class field set to SubnAdm, and using one of the SA methods (see Table 33-3 on page 925) to act upon one or more SA attributes (see Table 33-4 on page 927). Table 33-2 on page 920 provides a description of each of the MAD fields in an SA GMP.

Table 33-1. SA MAD Format
Dword Byte 0Byte 1Byte 2Byte 3
0Base MAD HeaderBase Version = 01hManagement Class = SubnAdmClass Version = 01hRSA Method (see Table 33-3 on page 925)
1Status is only meaningful in response packets. See Table 27-2 on page 776.Not used
2Transaction ID
3
4SA AttributeIDReserved
5AttributeModifier
6SA- specific fieldsSA_Key
7
8SM_Key
9
10Segment Number
11Payload Length
12Fragment FlagEdit ModifierWindow
13End RID
14Component Mask
15
16–63192-byte Admin Data Area

Table 33-2. SA MAD Field Descriptions—base MAD fields are described in Table 28-2 on page 783
FieldDescription
SA_KeyRefer to “Request Only Table Changes” on page 947.
SM_KeyRefer to “Subnet Manager Key (SM_Key)” on page 330.
Segment Number
  • = 0 in a single-packet request or response, = 0.

  • In multi-packet request or response:

    - = 1 in 1st packet.

    - Subsequent packet segment numbers are incremented (except in KeepAlive packets).

Payload LengthPayload Length is reserved unless:
  • First packet of a multi-packet SubnAdmConfig request. Length = sum of bytes in the Admin Data fields of all of the packets sent as part of the request.

  • First and last packet of multi-packet SubnAdmGetBulk or SubnAdm GetTable response.

    - In 1st packet of response, length = expected sum of all bytes in Admin Data fields of all response packets.

    - In last packet of response, length = number of valid bytes in last packet's Admin Data field.

    - After the first response is sent, the actual payload length may change (due to SM changes to the database). The payload length in the last response packet indicates the number of valid bytes in that packet's Admin Data field, and the Fragment Flag's Last Packet bit is set to one.

WindowValid only in a multi-packet SubnAdmGetBulk or SubnAdmGetTable request, and in the Ack packet of a SubnAdmConfig.
  • For a SubnAdmGetBulk or SubnAdmGetTable request that results in a multi-packet response, this specifies the number of packets the responder may send before it pauses and awaits an Ack packet. When the Ack packet is received, an additional window's worth of packets may be sent.

  • For a multi-packet SubnAdmConfig request:

    - The implied initial window value is 64d. The requester pauses after sending 64 request packets to await an Ack from the responder.

    - The responder includes a new window value in each Ack packet. This tells the requester the size of the next request packet window.

    - If the window value in any Ack packet < 64, the default window value of 64 is used by the requester.

Fragment Flag
  • Bit 0 = First Packet: Set to one in first packet of a multi-packet request or a multi-packet response; set to zero otherwise.

  • Bit 1 = Reserved.

  • Bit 2 = Last Packet: Set to one in last packet of a multi-packet request or a multi-packet response; set to zero otherwise.

  • Bit 3 = Resend Request:

    - For a requester, set to one to ask the SA to start resending packets for a multi-packet response beginning with the Segment Number indicated in the Segment Number field.

    - For the SA, set to one to ask the requester to start resending packets of a multipacket request beginning with the Segment Number indicated in the Segment Number field.

    - In all other cases, set to zero. In resent request packets, all fields in the MAD other than the Fragment Flag and Segment Number are ignored by the SA.

  • Bit 4 = Reserved.

  • Bit 5 = Acknowledgment Packet:

    - For a requester, set to one to acknowledge receipt of all response packets up to and including the packet with the segment number indicated in the Segment Number field.

    - For the SA, set to one to acknowledge the receipt of all request packets up to and including the packet with the segment number indicated in the Segment Number field.

    - After receipt of a packet is acknowledged, the packet supplier can delete its copy of the packet content and a request to retransmit the packet is not allowed. The segment number intervals at which acknowledgment packets are sent is not specified. In acknowledgment packets, all fields in the MAD other than the Segment Number, Fragment Flag, and Window are ignored by the recipient.

  • Bit 6 = Reserved.

  • Bit 7 = KeepAlive Packet: Set to one by the sender of a multipacket request or response to request the recipient to reinitialize the timer for the transaction to the Segment Timeout period. The sender may be either the requester, as in the case of a multipacket request, or the SA, as in the case of a multipacket response. In a KeepAlive packet, all fields in the MAD other than the Fragment Flag are ignored by the recipient.

Edit Modifier8-bit value. Used to specify one of the following operation types:
  • 0 = Add a record.

  • 1 = Delete a record.

  • 2 = Edit a record.

  • 3–255 = Reserved.

End RIDEnd Record ID. Refer to “Query by RID Range” on page 947.
ComponentMaskThe 64-bit ComponentMask field identifies which elements of the specified Attribute are involved in the current operation.
Admin Data AreaAdmin Data field contains Attribute elements included in operation.

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

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