Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

MSVBK

Prolog  

Control Block Contents  
   MSVBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


MSVBK Prolog

 Name       : HCPMSVBK
 Description: Mappings for MAC Services Control Block
 DSECT      : MSVBK
 Function   :
              The MSVBK structure describes the fields needed for
              virtual MAC address services.
 Located by -
   VMDMSVBK = Chain for VDEV MSVBKs anchored in BASE VMDBK only
   SLMMSVBK = Chain for VSWITCH MSVBKs anchored by SLMMSVBK
 CREATED BY : Storage for a VDEV MSVBK is reserved by entry point HCPMLMGL.
              Storage for a VSWITCH MSVBK is reserved by entry point HCPMLMVS.
 DELETED BY : VMDBK MSVBKs are deleted at LOGOFF by HCPMLMLG.
              VSWITCH MSVBKs are deleted at DETACH VSWITCH by HCPMLMVS.
 REFERENCES :
 SERIALIZED : For VDEV MSVBKs:
              Compare and swap logic serializes additions to the MSVBK
              chain. MSVBKs are not deleted except at LOGOFF.
              For VSWITCH MSVBKs:
              The SLMMACLK serializes changes to the chain. An MSVBK is
              created at VSWITCH LANBK creation and deleted by DETACH
              VSWITCH.
              MSVLKWRD serializes changes to a single MSVBK.
 NOTES      : None.
 General Note :
 1. There are two MAC fields and two MAC status flags.
              A pending MAC is set and allocated (if USER) when a SET
              NIC MACID is issued and it is possible that the stack
              may still be using the current MAC. We don't want to
              release the current MAC until receiving an indication that
              the stack has restarted (when it requests the MAC during
              its link initialization using Diagnose X'26C', Subcode
              X'30', Opcode X'00').
 2. An MSVBK  s allocated at the following times.
              - DEFINE NIC: (HCPNICCX) An MSVBK is created for the base
              device number. Guest VMDMSVBK anchor.
              - SET NIC MACID command: (HCPNICST) An MSVBK is created for
              the non-base device number of a simulated device, or a
              VDEV that does not yet exist. Guest VMDMSVBK anchor.
              - DIAG X'26C', SUBCODE X'30', OPCODE X'00': (HCPMLMGM) An
              MSVBK is created if one does not exist for the device
              number requested in the diagnose parameters. This is
              how it is created for a dedicated device if no SET NIC
              MACID command was issued. Guest VMDMSVBK anchor.
              - VSWITCH RDEV initialization: (HCPVLCCN call to HCPMLMVR)
              when doing back end of initialization. Controller
              VMDMSVBK anchor.
              - DEFINE VSWITCH: (HCPSWMMA call to HCPMLMVS). SLMMSVBK anchor.
 3. MACs allo ated for simulated devices (guest NICs),
              dedicated devices, or SET NIC MACID commands, are
              released under the following circumstances.
              a) LOGOFF: All allocated MAC addresses are released.
              b) DIAG X'26C', Subcode X'30', Opcode X'00'issued: If a
              pending MAC is defined, the current MAC is freed and
              the pending MAC becomes the current MAC (and is
              returned in the diagnose output buffer).
              c) DETACH NIC: If a pending MAC is defined, the current
              MAC is freed and the pending MAC becomes the current
              MAC.
              d) SET NIC MACID command issued for the device number:
              If a pending MAC is defined and allocated, the pending
              MAC is freed and the definition replaced.
 4. A MAC all cated for a VSWITCH RDEV is released when the
              RDEV connection is broken (HCPVLCDC call to HCPMLMVR).
 5. A MAC all cated for a VSWITCH is released at DETACH
              VSWITCH (HCPVLFRL call to HCPMLMVS).

 

MSVBK Control Block Content


MSVBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      MSVBK          Mappings for MAC Services Control Block
0000    0 Address      4 MSVNEXT        Pointer to Next MSVBK
0004    4 Signed       4 *              Reserved
0008    8 Dbl-Word     8 MSVLKWRD (3)   MAC Services lock word
0020   32 Signed       4 MSVVDEVN (0)   Virtual device number
0020   32 Bitstring    1 MSVVDFLG       Virtual Device Type Flag
          1... ....      MSVVSWIT       X'80' MSVVSWIT Indicates VSWITCH
                                        pseudo-VDEV number
0021   33 Bitstring    1 *              Reserved for future IBM use
0022   34 Signed       2 MSVDEV#        Device Number
0024   36 Signed       4 MSVVMDBK       VDEV MSVBKs: Base VMDBK of owner
                                        VSWITCH MSVBKs: SYSTEM VMDBK
0028   40 Bitstring    1 MSVSTAT        MSVBK status flag
          1... ....      MSVDIAG        X'80' MSVDIAG Diagnose x'26C'
                                        subcode x'30' issued
0029   41 Bitstring    7 *              Reserved
      MAC fields and status flags exist for the CURRENT MAC
      the PENDING MAC and the ADAPTER MAC.
      Flag definitions are the same for all status fields.
0030   48 Character    6 MSVCMAC (0)    Current MAC address field
0030   48 Bitstring    3 MSVCMACP       Current MAC Prefix field
0033   51 Bitstring    3 MSVCMACS       Current MAC Suffix (MACID) field
0036   54 Bitstring    1 MSVCFL         Current MAC Services Flag HCPNIC
                                        has a dependency that this field
                                        follows MSVCMAC
          1... ....      MSVXFLAL       X'80' MSVXFLAL MACID is allocated
          .... 1...      MSVXFLUS       X'08' MSVXFLUS USER MACID
                                        requested
          .... .1..      MSVXFLSY       X'04' MSVXFLSY SYSTEM MACID
                                        requested
      Flag definitions for MSVCFL, MSVPFL, MSVAFL.
0037   55 Bitstring    1 *              Reserved
0038   56 Character    6 MSVPMAC (0)    Pending MAC address field
0038   56 Bitstring    3 MSVPMACP       Pending MAC Prefix field
003B   59 Bitstring    3 MSVPMACS       Pending MAC Suffix (MACID) field
003E   62 Bitstring    1 MSVPFL         Pending MAC Services Flag HCPNIC
                                        has a dependency that this field
                                        follows MSVPMAC
          1... ....      MSVXFLAL       X'80' MSVXFLAL MACID is allocated
          .... 1...      MSVXFLUS       X'08' MSVXFLUS USER MACID
                                        requested
          .... .1..      MSVXFLSY       X'04' MSVXFLSY SYSTEM MACID
                                        requested
003F   63 Bitstring    1 *              Reserved
      MSVAMAC and MSVAFL are set only when MSVVDEVN=NICBASE.
0040   64 Character    6 MSVAMAC (0)    Adapter MAC address field
0040   64 Bitstring    3 MSVAMACP       Current MAC Prefix field
0043   67 Bitstring    3 MSVAMACS       Current MAC Suffix (MACID) field
0046   70 Bitstring    1 MSVAFL         Current MAC Services Flag
          1... ....      MSVXFLAL       X'80' MSVXFLAL MACID is allocated
          .... 1...      MSVXFLUS       X'08' MSVXFLUS USER MACID
                                        requested
          .... .1..      MSVXFLSY       X'04' MSVXFLSY SYSTEM MACID
                                        requested
0047   71 Bitstring    1 *              Reserved
0048   72 Dbl-Word     8 *              Reserved
          00000050       MSVBKSZ        *-MSVBK Size of MSVBK in bytes
          0000000A       MSVBKSZD       (*-MSVBK+7)/8 Size of MSVBK in
                                        doublewords

 

MSVBK Storage Layout

          
*** MSVBK - Mappings for MAC Services Control Block
*
*     +---------------------------+---------------------------+
*   0 |         MSVNEXT           |///////////////////////////|
*     +---------------------------+---------------------------+
*   8 |                                                       |
*     =                       MSVLKWRD                        =
*     |                                                       |
*     +------+------+-------------+---------------------------+
*  20 |:VDFLG|//////|  MSVDEV#    |         MSVVMDBK          |
*     +------+------+-------------+---------------------------+
*  28 |:STAT |////////////////////////////////////////////////|
*     +------+-------------+--------------------+------+------+
*  30 |     MSVCMACP       |     MSVCMACS       |MSVCFL|//////|
*     +--------------------+--------------------+------+------+
*  38 |     MSVPMACP       |     MSVPMACS       |MSVPFL|//////|
*     +--------------------+--------------------+------+------+
*  40 |     MSVAMACP       |     MSVAMACS       |MSVAFL|//////|
*     +--------------------+--------------------+------+------+
*  48 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  50
*
*** MSVBK - Mappings for MAC Services Control Block

 

MSVBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
MSVAFL         0046
MSVAMAC        0040
MSVAMACP       0040
MSVAMACS       0043
MSVBKSZ        0048 00000050
MSVBKSZD       0048 0000000A
MSVCFL         0036
MSVCMAC        0030
MSVCMACP       0030
MSVCMACS       0033
MSVDEV#        0022
MSVDIAG        0028 80
MSVLKWRD       0008
MSVNEXT        0000
MSVPFL         003E
MSVPMAC        0038
MSVPMACP       0038
MSVPMACS       003B
MSVSTAT        0028
MSVVDEVN       0020
MSVVDFLG       0020
MSVVMDBK       0024
MSVVSWIT       0020 80
MSVXFLAL       0036 80
MSVXFLAL       003E 80
MSVXFLAL       0046 80
MSVXFLSY       0036 04
MSVXFLSY       003E 04
MSVXFLSY       0046 04
MSVXFLUS       0036 08
MSVXFLUS       003E 08
MSVXFLUS       0046 08

This information is based on z/VM V5R4.0. Last updated on 18 Feb 2010 at 03:53:20 EDT.
Copyright IBM Corporation, 1990, 2009