SubnAdmConfig() Operation

Disclaimer

The author would like to stress that the specification's description of the Subn AdmConfig() operation is quite sketchy. The description that follows represents the author's “best guess.” The author has chosen to interpret the following specification statement

SubnAdmConfig() provides the ability to add, delete, or modify entire SA tables, in contrast to SubnAdmSet(), which only operates on single records.”

to mean that a single SubnAdmConfig() operation operates upon a single table (i.e., wherein all of the records are of the same type). The request packet's AttributeID field identifies the type of records (i.e., the table type) to be added, deleted, or edited.

General

While the SubnAdmSet() operation can only add or delete a single record, the SubnAdmConfig() operation permits the addition, deletion, or edit of multiple records of the same type.

Refer to Table 33-6 on page 934. The Master SM uses the SubnAdmConfig() operation to update the databases of non-Master SMs. Those records indicated as State records can only be modified by SubnAdmConfig() operations issued by the Master SM. The Master SM uses the SubnAdmConfig() operations to update the databases of the non-Master SMs in its subnet. The non-Master SM can verify that the inbound MAD was issued by the Master SM by comparing the packet's SLID field to the receiving port's PortInfo.MasterSMLID address.

If the total number of records to be acted upon will not fit in the 192-byte Admin Data Area of a single MAD, the SubnAdmConfig() operation will be a multi-packet operation. For a detailed description of multi-packet operations, refer to “Reliable Multi-Packet Transaction Protocol” on page 949. Note that records may be broken across successive response MADs. For a detailed description of multi-packet operations, refer to “Reliable Multi-Packet Transaction Protocol” on page 949.

Add Records

Records are added to the database by performing a SubnAdmConfig() operation with the following characteristics:

  • The AttributeID specifies the type of records being added.

  • The Edit Modifier = Add (see Table 33-2 on page 920).

  • The AttributeModifier = 00000000h.

  • The Admin Data Area contains the records to be added (without a RID).

  • ComponentMask is set to zeros.

  • The Segment Number in the first request packet is set to one.

  • The Payload Length indicates the number of valid bytes contained in all of the Admin Data Area fields of all the request packets in the operation.

  • The Fragment Flag indicates that this is the First, a Middle, or the Last request packet in the SubnAdmConfig() operation.

The operation proceeds as follows (note that a full description of the SA's multi-packet protocol can be found in “Reliable Multi-Packet Transaction Protocol” on page 949):

  1. The requester transmits a window's worth of request packets containing records to be added to the database.

  2. The requester pauses to await receipt of an acknowledge packet from the SA acknowledging receipt of the window's worth of request packets.

  3. The SA sends an acknowledge packet to the requester.

  4. The requester transmits another window's worth of request packets.

  5. The requester pauses to await receipt of an acknowledge packet from the SA acknowledging receipt of that window's worth of request packets.

  6. The SA sends an acknowledge packet to the requester.

  7. When the requester transmits the final window's worth of request packets, it sets the Last bit to one in the last request packet's Fragment Flag.

  8. The SA responds to the last request packet with an SubnAdmConfigResp() with its Admin Data Area field set to all 0s and its Status field indicating the success or failure of the corresponding SubnAdmConfig(). For a detailed description of multi-packet operations, refer to “Reliable Multi-Packet Transaction Protocol” on page 949.

Delete Records

Records are deleted from the database by performing a single or a multi-packet SubnAdmConfig() operation with the following characteristics:

  • The specification does not indicate the content of the AttributeID on a delete operation. It is the author's opinion that it identifies the type of records to be deleted.

  • The Edit Modifier = Delete (see Table 33-2 on page 920).

  • The AttributeModifier = 00000000h.

  • The Admin Data Area contains the records to be deleted (each record includes its RID).

  • ComponentMask is set to zeros.

  • The Segment Number in the first request packet is set to one.

  • The Payload Length indicates the number of valid bytes contained in all of the Admin Data Area fields of all the request packets in the operation.

  • The Fragment Flag indicates that this is the First, a Middle, or the Last request packet.

The operation proceeds as follows (note that a full description of the SA's multi-packet protocol can be found in “Reliable Multi-Packet Transaction Protocol” on page 949):

  1. The requester transmits a window's worth of request packets containing records to be deleted from the database.

  2. The requester pauses to await receipt of an acknowledge packet from the SA acknowledging receipt of the window's worth of request packets.

  3. The SA sends an acknowledge packet to the requester.

  4. The requester transmits another window's worth of request packets.

  5. The requester pauses to await receipt of an acknowledge packet from the SA acknowledging receipt of that window's worth of request packets.

  6. The SA sends an acknowledge packet to the requester.

  7. When the requester transmits the final window's worth of request packets, it sets the Last bit to one in the last request packet's Fragment Flag.

  8. The SA responds to the final request packet with an SubnAdmConfigResp() with its Admin Data Area field set to all 0s and its Status field indicating the success or failure of the corresponding SubnAdmConfig(). For a detailed description of multi-packet operations, refer to “Reliable Multi-Packet Transaction Protocol” on page 949.

Edit Records

The edit function can be used to edit:

  • All records in a table in their entirety.

  • One or more selected elements of all records in a table.

  • One or more selected elements in a range of records within a table.

The SubnAdmConfig() has the following characteristics:

  • The AttributeID identifies the table (i.e., the record type).

  • The AttributeModifier field specifies the start RID (0 = the beginning of the table).

  • The End RID field specifies the end RID of the range defined by the Attribute Modifier and the End RID (an AttributeID of 0 and an End RID of FFFFFFFFh specifies all records in the table).

  • The ComponentMask specifies the elements to be modified in each record.

  • The Admin Data Area contains the new content of the record elements to be modified as indicated by the ComponentMask bits. All of the record elements corresponding to mask bits that are zero are set to zeros.

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

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