About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
MSVBK | Back to Index page |
Prolog Control Block Contents MSVBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
MSVBK Prolog | Top of page |
NAME : HCPMSVBK DESCRIPTION: Mappings for MAC Services Control Block DSECT : MSVBK FUNCTION : The MSVBK structure keeps track of MAC Addresses and their attributes for a specific network device. Important Notice: The MSVBK Block is transmitted by Live Guest Migration (LGR) from this system to another. Therefore, any changes made to this control block must have corresponding code in LGR logic to copy the bit or byte. LOCATED By - We keep track of all allocated MSVBKs via the "Assigned MAC MLT Table" anchored off SLMMACTB in the "System Management Block" (SLMBK). Depending if the MSVBK is locally or remotely owned, we also maintain the following MSVBK queues: VMDMSVBK = Chain for "Locally Owned" VDEV MSVBKs assigned to a specific guest. Anchored from the BASE VMDBK only. SLMMSVBK = Chain for "Locally Owned" VSWITCH MSVBKs anchored by SLMMSVBK. ASSIGNED = "Remotely Owned" VDEV MSVBKs for a MAC MAC MLT currently in use by another system in a SSI cluster. A MSVBK that is only "Remotely Owned" is NOT anchored off any queue in the system. The only pointer to a "Remotely Owned" MSVBK is the "Assigned MAC MLT". Only a *NETWORK operation code 1 "Release MAC Request" or an operation code 2 "Synchronize MAC Table" will delete a MSVBK that is "Remotely Own". CREATED BY : VDEV MSVBK Created by the SET NIC MACID CP Command or the *NETWORK System Service (HCPMLMAM) VSWITCH MSVBK Created by entry point HCPMLMVS. DELETED BY : VDEV MSVBK Deleted at virtual machine LOGOFF or by the *NETWORK System Service. VSWITCH MSVBK Deleted at DETACH VSWITCH by HCPMLMVS. SERIALIZED : For VDEV MSVBKs: Compare and swap logic serializes additions to the MSVBK chain. 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. RELOCATION CONSIDERATIONS : This control block is relocated as part of a live guest relocation (LGR). The bits and fields that need to be relocated are defined in the corresponding LGRMSVBK COPY file. Whenever changes are made to this control block, consideration must be given to any effects these changes will have on a relocation. If any new fields or bits are defined, they may need to be relocated. If existing bits or fields are changed, corresponding modifications may be required in the LGR version of this control block. Consider also the effects of these changes on a relocation involving a back-level release of CP. GENERAL NOTES : . There are three MAC fields and three MAC status flags. 1) CURRENT MAC Address The MAC Address currently assigned and possibly in use by the network device. 2) PENDING MAC Address The MAC Address to be assigned to the network device when the guest reestablishes a QDIO Connection. 3) ADAPTER MAC Address The default MAC Address for a simulated network adapter. This MAC Address will be used when a QDIO Connection is established on a device associated with the NIC that doesn't have an explicit MAC Address assigned by the SET NIC MACID CP Command. A pending MAC is set and allocated when a SET NIC MACID is issued and its possible that the guest may still be using the current MAC for an active network connection. We don't want to release the current MAC until the guest retrieves the MAC Address again. This typically occurs when activating a new network connection either through a Diagnose or SSCH Instruction. At which time a pending MAC Address will be promoted to the current MAC Address. 2. AN MSVBK IS ALLOCATED AT THE FOLLOWING TIMES: - DEFINE NIC: A VDEV MSVBK is created for an ADAPTER MAC Address and it is assigned for the base (first) device number associated with the NIC. The MSVBK is added to the guest's BASE VMDMSVBK anchor. - SET NIC MACID command: An MSVBK is created for a network device that is currently in or will be added to a virtual machine's I/O configuration. The MSVBK is linked to the guest's BASE VMDMSVBK anchor. - DIAG X'26C', SUBCODE X'30', OPCODE X'00': 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. The MSVBK is added to the guest's BASE VMDMSVBK anchor. - VSWITCH RDEV initialization: (HCPVLCCN call to HCPMLMVR) when doing back end of initialization. The MSVBK is added to the Controller's BASE VMDMSVBK anchor. - DEFINE VSWITCH: (HCPSWMMA call to HCPMLMVS). The MSVBK is added to the SLMMSVBK anchor. - *NETWORK System Service. The MSVBK is added to the Assigned MAC MLT for "Remotely Owned" MAC Addresses. . MACs allocated for simulated devices (guest NICs), dedicated devices, or SET NIC MACID commands, are released under the following circumstances. a) LOGOFF: All local MAC addresses are released. b) DIAG X'26C', Subcode X'30', Opcode X'00'issued: A pending MAC is promoted to the current MAC if the QDIO Connection is NOT activated. c) DETACH NIC: If a pending MAC is defined, the current MAC is freed and the pending MAC is promoted to 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. e) DIAG X'2A8', Operation Code 0 "Query" issued: A pending MAC is promoted to the current MAC if the QDIO Connection is NOT activated. f) Device Reset will promote a pending MAC address to the current MAC. The old current MAC is released. . A MAC allocated for a VSWITCH RDEV is released when the RDEV connection is broken (HCPVLCDC call to HCPMLMVR). . A MAC allocated for a VSWITCH is released at DETACH VSWITCH (HCPVLFRL call to HCPMLMVS). . A "Remotely Owned" MAC will be removed from the Assigned MAC MLT by the *NETWORK System Service when it is no longer being used by active SSI cluster member. |
MSVBK Control Block Content | Top of page |
|
MSVBK Storage Layout | Top of page |
*** MSVBK - Mappings for MAC Services Control Block * * +---------------------------+---------------------------+ * 0 | MSVNEXT |///////////////////////////| * +---------------------------+---------------------------+ * 8 | | * = MSVLKWRD = * | | * +------+------+-------------+---------------------------+ * 20 |:VDFLG|//////| MSVDEV# | MSVVMDBK | * +------+------+-------------+---------------------------+ * 28 |:STAT |:MACPR| MSVROWN |///////////////////////////| * +------+------+------+------+-------------+------+------+ * 30 | MSVCMACP | MSVCMACS |MSVCFL|//////| * +--------------------+--------------------+------+------+ * 38 | MSVPMACP | MSVPMACS |MSVPFL|//////| * +--------------------+--------------------+------+------+ * 40 | MSVAMACP | MSVAMACS |MSVAFL|//////| * +--------------------+--------------------+------+------+ * 48 | MSVUSER | * +-------------------------------------------------------+ * 50 * *** MSVBK - Mappings for MAC Services Control Block |
MSVBK Cross Reference | Top of page |
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 MSVDUAL 0028 60 MSVLKWRD 0008 MSVLOCAL 0028 40 MSVMACPR 0029 MSVNEXT 0000 MSVPFL 003E MSVPMAC 0038 MSVPMACP 0038 MSVPMACS 003B MSVREMOT 0028 20 MSVROWN 002A MSVSTAT 0028 MSVUSER 0048 MSVVDEVN 0020 MSVVDFLG 0020 MSVVMDBK 0024 MSVVSWIT 0020 80 MSVXFLAD 0036 02 MSVXFLAL 0036 80 MSVXFLRM 0036 01 MSVXFLSY 0036 04 MSVXFLUS 0036 08 MSVXFNMG 0036 10 |
Copyright IBM Corporation, 1990, 2020