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.2.0 Last updated on 24 Jun 2020 at 09:30:56 EDT.
Copyright IBM Corporation, 1990, 2020