SWPBK Back to Index page
 
Prolog 
Control Block Contents 
   SWPBK DSECT
   SWPI DSECT
   SWP_MACTK 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.


  SWPBK Prolog Top of page
 
 NAME       : HCPSWPBK
 DESCRIPTION: VSWITCH Port Group Block
 DSECT      : SWPBK
 FUNCTION   :
              Define a structure to represent a Virtual Switch
              Port Group to be used for Link Aggregation.
 LOCATED BY :
              SLMSWPHD - System LAN Management Block when a port
              group is added to the system.
              LANSPBLK - The LAN Block when the port group is
              configured to a specific virtual switch.
 CREATED BY :
              CP SET PORT GROUP Command or an IVL VSwitch's Global
              Port Group Manager.
 DELETED BY :
              CP SET PORT GROUP Command or an IVL VSwitch's Global
              Port Group Manager.
 SERIALIZED :
              (SLMLKWRD)  System LAN Management Lock when adding
              or removing a L:SWPBK from the system.
              SWPFPNT and SWPBPNT are serialized by
              this lock.
              (LANLKWRD)  Since a port group can't be deleted while
              it is configured to a VSwitch, holding
              the LANLKWRD Lock will prevent the SWPBK
              from being deleted.  Although fields
              within the SWPBK may change if the SWPBK
              Lock is not held.
              (SWPLOCK)   VSwitch Port Group Lock must be held
              exclusive when modifying fields within
              the SWPBK.  The only exception is for
              SWPFPNT and SWPBPNT, which are protected
              by the SLMLKWRD Lock.
 REFERENCES : None
 RELOCATION CONSIDERATIONS : None
 
 
  SWPBK Control Block Content Top of page
 

 SWPBK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure SWPBK VSWITCH Port Group Block 0000 0 Address 4 SWPFPNT Pointer to Next SWPBK 0004 4 Address 4 SWPBPNT Pointer to Previous SWPBK 0008 8 Character 8 SWPGROUP Groupname 0010 16 Dbl-Word 8 SWPLOCK (3) VSwitch Port Group Lock 0028 40 Address 4 SWPGPGET Global Port Group Entry L:ADR 002C 44 Bitstring 1 SWPFLAGS SWPBK Flags 1... .... SWPLACP X'80' SWPLACP - LACP Active .1.. .... SWPSHPG X'40' SWPSHPG - Shared Port Group ...1 .... SWPDISCY X'10' SWPDISCY - Force PG Discovery on SyncOP Load Balance Type State Machine There are two different types of load balancing operations which can be performed on a port group. The type of load balance is determined by the state in SWPLBAL. Independent (SWPLBAL < SWPSTEST) The VSwitch or VSwiches associated with the port group will independently balance the workload on their respective VSwitches. The usage of other VSwitches which may be sharing the same port group are not considered. Collaborative (SWPLBAL > SWPSTEST) All VSwitches sharing the same port group will work together to balance the workload across the physical LAG. 002D 45 Bitstring 1 SWPLBAL Load Balance Type 00000000 SWPINDP 0 SWPINDP - Independent 00000008 SWPFORCE 8 SWPFORCE - Forced Independent 0000000C SWPSTEST 12 SWPSTEST * Type Determination 00000010 SWPCOLAB 16 SWPCOLAB - Collaborative 002E 46 Signed 2 SWPINTVL Number of 30 second intervals between load balancing operations for independent 0030 48 Signed 2 SWPINTSC Number of seconds between load balancing operations (rounded to next higher multiple of 30 seconds) for independent 0032 50 Signed 2 SWPINTV2 Number of 30 second intervals between load balancing operations for collaborative 0034 52 Signed 2 SWPINTS2 Number of seconds between load balancing operations (rounded to next higher multiple of 30 seconds)for collaborative 0036 54 Bitstring 1 SWPCNT Number of ports currently CNFG on the base PG instance 0037 55 Bitstring 1 * Reserved for Future IBM Use Load Balance Token 0 16 32 63 | Host Prefix | 00 00 | TOD Bits 0 - 31 | Host Prefix: Last 2 bytes of the customer assigned System MAC Prefix. TOD : TOD Bits 0-31 of when the token is created. The two byte MAC Prefix uniquely identifies the host where the token owning VSwitch is located, while the 4 byte TOD indentifies the time of the last load balance operation. 0038 56 Dbl-Word 8 SWPLBTOK (0) Load Balance Token 0038 56 Signed 2 SWPLBPRF System MAC Prefix 003A 58 Signed 2 * Reserved for Future IBM Use 003C 60 Signed 4 SWPLBTOD Creation TOD Bits 0-31 0040 64 Bitstring 64 SWPARRAY Port Group Instance Array (SWPI) End of the SWPBK. 00000080 SWP$END * End of the SWPBK 00000080 SWPBKLN *-SWPBK Length of SWPBK in bytes 00000010 SWPBKSZ (*-SWPBK+7)/8 Size of SWPBK in doublewords Port Group Instance Array Entry The same SHARED Port Group may be associated (connected) with up to SWPIMAX GLOBAL VSWITCHes within the same image of z/VM. An EXCLUSIVE Port Group on the other hand can only be associated with a single VSWITCH. To keep track of the VSWITCHes associated with a port group, a four entry array called the Port Group Instance Array in the SWPBK is used. The first entry in the array is the based instance or the first configured instance of a port group. Instance one to SWPILAST are associated with subsequent VSWITCHes sharing the same port group. An EXCLUSIVE Port Group will only use the based instance. The following are key fields in each Port Group Array Entry: ASSOCIATED VSWITCH SWPILANBK is define in the instance array entry as the pointer to the L:LANBK configured to this instance of the port group. If SWPILANBK is zero, the instance is not in use. OBJECT - Port Group LANRDD Table SWPIRRDEV is defined in the instance array as the anchor for the port group LANRDD Table. SWPIRRDEV represents a table of RDEV descriptors for a port group (used for Link Aggregation). Related Structures - SWPIRDDCT is defined in the instance array as the number of LANRDD entries stored in this LANRDD Table. Each LANRDD represents a single RDEV (OSA triplet) in the Port Group LANRDD Table. These entries are chained by LANRDD_XFPNT and LANRDD_XBPNT to form a circular list. New entries are added to the "bottom" of the list.
 SWPI DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure SWPI VSWITCH Port Group Block 0000 0 Address 4 SWPILANBK Associated L:LANBK Address 0004 4 Signed 2 * Reserved for Future IBM Use 0006 6 Signed 2 SWPIRDDCT Number of LANRDD entries 0008 8 Address 4 SWPIRRDEV Chain of LANRDD Descriptors 000C 12 Signed 4 * Reserved for Future IBM Use 00000010 SWPISZB *-SWPI Length of Instance Array Entry Define the SWP_MACTK structure This is used to map the data to be recorded for *VMEVENT events VMEMACTO and VMEMACTB
 SWP_MACTK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure SWP_MACTK VSWITCH Port Group Block 0000 0 Character 8 SWP_VSWF Virtual Switch Name 0008 8 Character 8 SWP_SYSF System ID 0010 16 Character 8 SWP_VSWL Local Virtual Switch Name 0018 24 Character 8 SWP_SYSL Local System ID 0020 32 Bitstring 2 * Reserved 0022 34 Character 6 SWP_MACT Take-Over MAC Address 0028 40 Character 8 SWP_PGRP Shared Port Group Name 0030 48 Signed 2 SWP_PCHD Adapter (PCHID) 0032 50 Bitstring 1 SWP_FLAG Flags 1... .... SWPVPCHD X'80' SWPVPCHD - SWP_PCHD is valid 0033 51 Bitstring 1 SWP_PRTF Port Number 0034 52 Bitstring 4 * Reserved 00000038 SWP_MACTKSZB *-SWP_MACTK Size of SWP_MACTK in bytes 00000007 SWP_MACTKSZ (*-SWP_MACTK+7)/8 Size of SWP_MACTK in DWs
 
 
  SWPBK Storage Layout Top of page
 
          
*** SWPBK - VSWITCH Port Group Block
*
*     +---------------------------+---------------------------+
*   0 |         SWPFPNT           |         SWPBPNT           |
*     +---------------------------+---------------------------+
*   8 |                       SWPGROUP                        |
*     +-------------------------------------------------------+
*  10 |                                                       |
*     =                       SWPLOCK                         =
*     |                                                       |
*     +---------------------------+------+------+-------------+
*  28 |         SWPGPGET          |:FLAGS|:LBAL |  SWPINTVL   |
*     +-------------+-------------+------+------+------+------+
*  30 |  SWPINTSC   |  SWPINTV2   |  SWPINTS2   |SWPCNT|//////|
*     +-------------+-------------+-------------+------+------+
*  38 |  SWPLBPRF   |/////////////|         SWPLBTOD          |
*     +-------------+-------------+---------------------------+
*  40 |                                                       |
*     =                       SWPARRAY                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  80
*
*** SWPBK - VSWITCH Port Group Block
          
*** SWPI - VSWITCH Port Group Block
*
*     +---------------------------+-------------+-------------+
*   0 |        SWPILANBK          |/////////////| SWPIRDDCT   |
*     +---------------------------+-------------+-------------+
*   8 |        SWPIRRDEV          |///////////////////////////|
*     +---------------------------+---------------------------+
*  10
*
*** SWPI - VSWITCH Port Group Block
          
*** SWP_MACTK - VSWITCH Port Group Block
*
*     +-------------------------------------------------------+
*   0 |                       SWP_VSWF                        |
*     +-------------------------------------------------------+
*   8 |                       SWP_SYSF                        |
*     +-------------------------------------------------------+
*  10 |                       SWP_VSWL                        |
*     +-------------------------------------------------------+
*  18 |                       SWP_SYSL                        |
*     +-------------+-----------------------------------------+
*  20 |/////////////|                SWP_MACT                 |
*     +-------------+-----------------------------------------+
*  28 |                       SWP_PGRP                        |
*     +-------------+------+------+---------------------------+
*  30 |  SWP_PCHD   |:_FLAG|:_PRTF|///////////////////////////|
*     +-------------+------+------+---------------------------+
*  38
*
*** SWP_MACTK - VSWITCH Port Group Block
 
 
  SWPBK Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
SWP$END        0040 00000080
SWP_FLAG       0032
SWP_MACT       0022
SWP_MACTKSZ    0034 00000007
SWP_MACTKSZB   0034 00000038
SWP_PCHD       0030
SWP_PGRP       0028
SWP_PRTF       0033
SWP_SYSF       0008
SWP_SYSL       0018
SWP_VSWF       0000
SWP_VSWL       0010
SWPARRAY       0040
SWPBKLN        0040 00000080
SWPBKSZ        0040 00000010
SWPBPNT        0004
SWPCNT         0036
SWPCOLAB       002D 00000010
SWPDISCY       002C 10
SWPFLAGS       002C
SWPFORCE       002D 00000008
SWPFPNT        0000
SWPGPGET       0028
SWPGROUP       0008
SWPILANBK      0000
SWPINDP        002D 00000000
SWPINTSC       0030
SWPINTS2       0034
SWPINTVL       002E
SWPINTV2       0032
SWPIRDDCT      0006
SWPIRRDEV      0008
SWPISZB        000C 00000010
SWPLACP        002C 80
SWPLBAL        002D
SWPLBPRF       0038
SWPLBTOD       003C
SWPLBTOK       0038
SWPLOCK        0010
SWPSHPG        002C 40
SWPSTEST       002D 0000000C
SWPVPCHD       0032 80
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:56:40 EDT.
Copyright IBM Corporation, 1990, 2022