MTPBK | Back to Index page

| Prolog Control Block Contents MTPBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

MTPBK Prolog | Top of page

     NAME       : HCPMTPBK
     DESCRIPTION: MEMBER TOPOLOGY PACKET
                  This copy file contains:
                  MTPBK DSECT which maps a Member Topology Packet (MTP)
                  MTRTABLE MACRO that is used to define the synchronization
                  request router table
                  MTRTABL DSECT which maps a router table entry
     DSECT      : MTPBK
     FUNCTION   : Used to transmit Relocation Domain topology to other members
                  of the SSI. The MTPBK is used in four circumstances:
                  1) To propagate a DEFINE DOMAIN request from the member that
                  receives the user's command to other members of the SSI.
                  2) To propagate notification of a concurrent upgrade to
                  members of the SSI.
                  3) For resynchronization purposes when a member rejoins the
                  SSI following a transition out of safe mode.
                  4) For synchronization purposes when a member first joins the
                  SSI cluster.
                  Each of these four uses requires different processing on the
                  receiving system. Therefore a router worker ID is included in
                  the MTP to allow the receiving thread to route the MTP
                  correctly.
                  Router table entries comprise the worker routine address
                  with a flag to indicate whether they are invoked synchronously
                  or asynchronously using a deferred call.
                  Synchronous calls return an MTP from the receive in the
                  SEND_REPLY message.
                  Asynchronous calls return a SEND_REPLY VOTE=YES as soon as
                  the worker has been scheduled.  No MTP response is sent back.
                  The worker routines are responsible for freeing their input
                  MTP.
     LOCATED BY : In the message buffer portion of an MBHBK
     CREATED BY : HCPRDMBT
     DELETED BY : Synchronization worker routines once they are
                  finished their work.
     SERIALIZED : The VAAXLK will be held during processing that uses MTPBKs.
     RELOCATION CONSIDERATIONS : None

MTPBK Control Block Content | Top of page

     MTPBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      MTPBK          MEMBER TOPOLOGY PACKET
    0000    0 Signed       4 MTPLEN         Length of MTPBK in bytes
    0004    4 Signed       4 MTPSNDX        Sending member's index
    0008    8 Signed       4 MTPCVN         Comms Version for domain sync
                                            operations MTPCVN is used to
                                            identify the communications
                                            protocol version used by
                                            cross-SSI Domain and ARD
                                            synchronization. The VAACVN is
                                            stored in the Member Topology
                                            Packet in MTPCVN to alert a
                                            remote member of the version of
                                            the comms structures and
                                            protocols in use by the CP.
          When a MTPBK is created MTPCVN is populated with MTPCVER.
              00000001       MTPCV1         1 Comms Version 1
              00000002       MTPCV2         2 Comms Version 2
              00000003       MTPCV3         3 Comms Version 3
              00000004       MTPCV4         4 Comms Version 4
              00000005       MTPCV5         5 Comms Version 5
              00000006       MTPCV6         6 Comms Version 6
              00000007       MTPCV7         7 Comms Version 7
              00000008       MTPCV8         8 Comms Version 8
              00000009       MTPCV9         9 Comms Version 9
              00000001       MTPCVER        MTPCV1 Comms Version supported by
                                            this CP
    000C   12 Signed       4 MTPRID         Router Worker Id (or Request ID)
    0010   16 Signed       4 MTPSEQ         State sequence number for this
                                            request. For synchronization
                                            requets this will be set to the
                                            sender's VAASEQ. For new DEF RELO
                                            requets this will be set to the
                                            sender's next state (VAASEQN)
    0014   20 Signed       4 MTPDCT         Number of Domain Entries in
                                            Packet
    0018   24 Bitstring    1 MTPFLAGS       Flags for the message
              1... ....      MTPGLOCK       X'80' MTPGLOCK Indicates that the
                                            requester has acquired the VAAXLK
                                            lock globally. If this bit is
                                            OFF, the receiver(s) of this
                                            packet must get the lock locally
                                            before doing the necessary
                                            processing. If it is ON, the
                                            receiver must call HCPXLKUU to
                                            inform the lock manager it will
                                            release the lock.
    0019   25 Bitstring    3 *              Reserved for future IBM use
    001C   28 Signed       4 MTPXLUNQ       Value of XLKUNQ after the global
                                            lock was obtained. This is passed
                                            to the remote system which then
                                            passes it to HCPXLKUU to register
                                            that the remote worker routine is
                                            now responsible for releasing the
                                            lock on that system
              00000020       MTPHLEN        *-MTPBK MTP Header length The
                                            rest of the MTPBK is variable
                                            length depending on the number of
                                            domains in the member's topology.
                                            There is one MTPENT for each
                                            domain in the member's topology.
                                            They are appended here as an
                                            array of MTPENTs one after the
                                            other. MTPDCT contains the count
                                            of entries appended in the
                                            packet.
    0020   32 Bitstring   12 MTPENT         Domain Entry
    0020   32 Character    8 MTPDNM         Domain Name
    0028   40 Bitstring    4 MTPDMM         Domain Membership Mask. Zero mask
                                            signals domain deletion.
              0000000C       MTPENTL        L'MTPENT Length of a domain entry
                                            (bytes)
              00000004       MTPHDDWL       (MTPHLEN+7)/8 Length of an MTP
                                            header (DWs)
          Mapping DSECT for the MTP Router Table

MTPBK Storage Layout | Top of page

    *** MTPBK - MEMBER TOPOLOGY PACKET
    *
    *     +---------------------------+---------------------------+
    *   0 |          MTPLEN           |         MTPSNDX           |
    *     +---------------------------+---------------------------+
    *   8 |          MTPCVN           |          MTPRID           |
    *     +---------------------------+---------------------------+
    *  10 |          MTPSEQ           |          MTPDCT           |
    *     +------+--------------------+---------------------------+
    *  18 |:FLAGS|////////////////////|         MTPXLUNQ          |
    *     +------+--------------------+---------------------------+
    *  20 |                        MTPENT                         |
    *     |                           +---------------------------+
    *     |                           | 2C
    *     +---------------------------+
    *
    *** MTPBK - MEMBER TOPOLOGY PACKET

    *** Overlay for MTPENT in MTPBK
    *
    *     +-------------------------------------------------------+
    *  20 |                        MTPDNM                         |
    *     +---------------------------+---------------------------+
    *  28 |          MTPDMM           | 2C
    *     +---------------------------+
    *
    *** Overlay for MTPENT in MTPBK

MTPBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    MTPCVER        0008 00000001
    MTPCVN         0008
    MTPCV1         0008 00000001
    MTPCV2         0008 00000002
    MTPCV3         0008 00000003
    MTPCV4         0008 00000004
    MTPCV5         0008 00000005
    MTPCV6         0008 00000006
    MTPCV7         0008 00000007
    MTPCV8         0008 00000008
    MTPCV9         0008 00000009
    MTPDCT         0014
    MTPDMM         0028
    MTPDNM         0020
    MTPENT         0020
    MTPENTL        0028 0000000C
    MTPFLAGS       0018
    MTPGLOCK       0018 80
    MTPHDDWL       0028 00000004
    MTPHLEN        001C 00000020
    MTPLEN         0000
    MTPRID         000C
    MTPSEQ         0010
    MTPSNDX        0004
    MTPXLUNQ       001C

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:29:20 EDT.
Copyright IBM Corporation, 1990, 2020