NIDBK - 64-bit CP - V4R4.0

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

#### NIDBK

Prolog

Control Block Contents
NIDBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### NIDBK Prolog

     Name       : HCPNIDBK
     Description: Network Interface Device Block.
     DSECT      : NIDBK
     Function   :
                  The NIDBK structure represents a Network Interface
                  Device.  One NIDBK exists for each virtual device
                  that is part of a simulated Network Interface Card
                  (NIC).  The NIDBK is an extension of the VDEV for
                  a fully-simulated OSA device (VDEVCLAS=CLASSPEC
                  and VDEVTYPE=TYPOSA).
     Located by :
                  VDEVNID  = VDEV pointer to the NIDBK for this device.
                  NICNIDHD = NICBK pointer to base device NIDBK for this
                  adapter (NIC).  Every device associated with
                  this adapter is chained from the base NIDBK
                  by NIDFPNT/NIDBPNT links.
                  MPCRDCTL = MPCBK pointer to NIDBK for the READ-CTL
                  device.
                  MPCWRCTL = MPCBK pointer to NIDBK for the WRITE-CTL
                  device.
                  DDVNIDBK = DDVBK pointer to NIDBK for a DATA device.
                  IPNLINK  = IPNBK pointer to NIDBK for the device which
                  owns the IP Address.
                  VQSNIDBK = VQSBK pointer to NIDBK associated with a
                  VSWITCH (real) device.
     CREATED BY :
                  CP DEFINE command processing (module HCPVDB)
     DELETED BY :
                  CP DETACH command processing (module HCPVDB)
     REFERENCES :
                  HCPDVTYP COPY - Specific device types
                  HCPEQUAT COPY - General CP equates
     SERIALIZED :
                  NICBK Lock (NICLKWRD) must be held EXCLUSIVE to create
                  or destroy the NIDBK.
                  Most fields within the NIDBK are serialized by the
                  VDEV Lock (VDEVLOCK) or by I/O protocol.  Exceptions
                  are:
                  NIDSTACK - Updated using CS logic.
     NOTES      : None.
     General Note :
                  None

#### NIDBK Control Block Content

#### NIDBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      NIDBK          Network Interface Device Block.
    0000    0 Character    8 NIDDESC        NID Description (e.g. IQDC)
    0008    8 Address      4 NIDVDEV        Pointer to VDEV
    000C   12 Address      4 NIDNICBK       Pointer to NICBK
    0010   16 Address      4 NIDFPNT        Pointer to NEXT NIDBK
    0014   20 Address      4 NIDBPNT        Pointer to PREV NIDBK
    0018   24 Bitstring    1 NIDTYPE        Network Device Type
    0019   25 Bitstring    1 NIDGWFCN       NIC device function
              00000000       NIDNOFCN       0 Unassigned
              00000001       NIDCTLRD       1 CTL-0 / CTL-READ
              00000002       NIDCTLWR       2 CTL-1 / CTL-WRITE
              00000003       NIDDATA        3 DATA device
    001A   26 Signed       2 NIDGWDEV (0)   NIC device index (0-xxxx)
    001A   26 Bitstring    1 NIDUA0         Unit Address (byte 0)
    001B   27 Bitstring    1 NIDUA          Unit Address
    001C   28 Bitstring    4 NIDSTSWD (0)   Status Word (summary for trace)
    001C   28 Bitstring    1 NIDLATCH       Device Latches
              1... ....      NIDBUSY        X'80' - Busy with a CCW
              .1.. ....      NIDNTRDY       X'40' - Device is NOTREADY
              ..1. ....      NIDCCW1        X'20' - This is First/Only CCW
              ...1 ....      NIDCCFLG       X'10' - Command Chaining in
                                            effect
              .... 1...      NIDNEWUC       X'08' - Last CCW caused UC
              .... .1..      NIDRSEVT       X'04' - Resetting-Event Latch
                                            Notes : NIDGWSTS is serialized by
                                            NIDSPNLK.
    001D   29 Bitstring    1 NIDGWSTS       Gateway Status
              1... ....      NIDMSPND       X'80' - Message pending from GW
              .1.. ....      NIDRDPND       X'40' - Read pending from VM
              ..1. ....      NIDRDACT       X'20' - Read active from VM
              ...1 ....      NIDWRACT       X'10' - Write active from VM
              .... 1...      NIDXDACT       X'08' - QDIO exchange is active
                                            Notes : NIDCNTRL is serialized by
                                            NIDSPNLK.
    001E   30 Bitstring    1 NIDCNTRL       Control options
              1... ....      NIDSUSPD       X'80' - Device is SUSPENDED
              .1.. ....      NIDSCHED       X'40' - RESUME is Scheduled
              ..1. ....      NIDUIPND       X'20' - Unsolicited Int Pending
              ...1 ....      NIDRESET       X'10' - Reset in Progress
              .... 1...      NIDDET         X'08' - DETACH in Progress
    001F   31 Bitstring    1 NIDUISTS       Pending Unsolicited Status
    0020   32 Bitstring    1 NIDCMD         Current CCW opcode
    0021   33 Bitstring    1 NIDDVPST       Posted Unit Status
    0022   34 Bitstring    1 NIDDVSTS       Latest Unit Status
    0023   35 Bitstring    1 NIDTRFLG       Extended Trace Flags
              1... ....      NIDTRCCW       X'80' - Trace CCW Data Buffer
              .1.. ....      NIDTRXFR       X'40' - Trace Data Transfers
    0024   36 Bitstring    2 NIDSNS (0)     Sense Data registers
    0024   36 Bitstring    1 NIDSNS0        Sense Byte 0 latches
              1... ....      NIDCMREJ       X'80' - Command Reject
              .1.. ....      NIDINTRQ       X'40' - Intervention Reqd
              ..1. ....      NIDBUSCK       X'20' - Bus-Out Check
              ...1 ....      NIDEQCHK       X'10' - Equipment Check
              .... 1...      NIDCDC         X'08' - Channel Data Check
              .... .1..      NIDCCC         X'04' - Channel Control Check
              .... ..1.      NIDIFCC        X'02' - Interface Control Check
              .... ...1      NIDCANCL       X'01' - Cancel Function
    0025   37 Bitstring    1 NIDSNS1        Sense Byte 1 latches
              1... ....      NIDRJRES       X'80' - Rejected by
                                            Resetting-Event
    0026   38 Bitstring    1 NIDPVCMD       Previous CCW opcode
    0027   39 Bitstring    1 NIDPVSTS       Previous CCW status
    0028   40 Signed       4 NIDRFCTR       Outstanding Reference Counter
    002C   44 Bitstring    4 *              Reserved
    0030   48 Address      4 NIDXFRPT       Pointer to current buffer
    0034   52 Signed       4 NIDXFRLN       Bytes to/from VM buffer
    0038   56 Address      4 NIDIPTBL       Pointer to Device IP Table
    003C   60 Signed       2 NIDIPCTR       Count of IP Addresses installed
    003E   62 Bitstring    2 *              Reserved
    0040   64 Address      4 NIDBCIPN       Pointer to Broadcast IPNBK
    0044   68 Address      4 NIDMCIPN       Pointer to Multicast IPNBK
    0048   72 Address      4 NIDDXIPN       Pointer to LAN Connection IPNBK
    004C   76 Address      4 NIDPXIPN       Pointer to PX IPNBK
          The NID Spin Lock (NIDSPNLK) serializes the
          following fields:
            NIDGWSTS - Gateway status flag
            NIDCNTRL - Device control flag
            NIDCPEBK - Pointer to the SUSPEND CPEBK
            NIDPNDFN - Function being suspended (see NIDGWFCN)
            NIDNDMHD - Pointer to the first message (NDMBK)
            NIDNDMTL - Pointer to the last message (NDMBK)
    0050   80 Signed       4 NIDSPNLK       NID Spin Lock
    0054   84 Address      4 NIDCPEBK       Pointer to SUSPEND CPEBK
    0058   88 Address      4 NIDSTACK       Pointer to Stacked NDMBK work
    005C   92 Bitstring    2 *              reserved
    005E   94 Signed       2 NIDNDMCT       Count of pending messages
    0060   96 Address      4 NIDNDMHD       Pointer to first NDMBK
    0064  100 Address      4 NIDNDMTL       Pointer to last NDMBK
    0068  104 Address      4 NIDMPCBK       Pointer to assigned MPC block
    006C  108 Address      4 NIDVQSBK       Pointer to VSWITCH VQSBK
          VLAN support fields
    0070  112 Bitstring    1 NIDFLAG1       VLAN support flag
              00000080       NIDVLAN_ENABLED
                                            X'80' VLAN support is enabled
              00000040       NIDVLAN_GBLPRT X'40' VLAN Global Priority in
                                            NIDGVPRT
              00000020       NIDVLAN_GBLID  X'20' VLAN Global ID in NIDGVID
              00000010       NIDVLAN_CONFLICT
                                            X'10' VLAN Conflict detected
              00000008       NIDPASS_ENABLED
                                            X'08' PASSTHRU support is enabled
              00000004       NIDVLAN_FORCED X'04' VLAN Forced by System
    0071  113 Bitstring    1 *              Reserved
          If NIDGVTAG is nonzero, set VLAN TAG on all outbound data.
    0072  114 Signed       2 NIDGVPRT       Global VLAN Priority
    0074  116 Signed       2 NIDGVID        Global VLAN ID
    0076  118 Signed       2 NIDGVTAG       Effective VLAN tag
              0000E000       NIDPRMSK       X'E000' VLAN Priority Mask
              00000FFF       NIDIDMSK       X'0FFF' VLAN ID Mask
          VLAN ID array authorized for this user.
            If NIDVLAN1 is x'0000' it indicates this interface is
            allowed to use ANY VLAN ID.  Otherwise x'0000' marks
            the end of a list of VLAN ID numbers allowed for this
            interface device.
    0078  120 Bitstring    8 NIDVLANS (0)   Array of 4 x VLAN ID entries
    0078  120 Signed       2 NIDVLAN1       VLAN ID 1
    007A  122 Signed       2 NIDVLAN2       VLAN ID 2
    007C  124 Signed       2 NIDVLAN3       VLAN ID 3
    007E  126 Signed       2 NIDVLAN4       VLAN ID 4
    0080  128 Bitstring   16 *              Reserved
          NIDTXCTS holds TX counters for the current Queue Writer.
    0090  144 Dbl-Word     8 NIDTXCTS (0)   Transmitted data counters
    0090  144 Signed       4 NIDTXUCN       TX Unicast NonRouter Bytes
    0094  148 Signed       4 NIDTXUCR       TX Unicast Router Bytes
    0098  152 Signed       4 NIDTXMC        TX Multicast Bytes
    009C  156 Signed       4 NIDTXBC        TX Broadcast Bytes
    00A0  160 Signed       4 NIDTXUPK       TX Unicast NonRouter Packets
    00A4  164 Signed       4 NIDTXRPK       TX Unicast Router Packets
    00A8  168 Signed       4 NIDTXMPK       TX Multicast Packets
    00AC  172 Signed       4 NIDTXBPK       TX Broadcast Packets
    00B0  176 Signed       4 NIDTXERR       TX Bad Packets
    00B4  180 Signed       4 NIDTXDSC       TX Discarded Packets
              00000028       NIDTXCLN       (*-NIDTXCTS) Length of NIDTXCTS
                                            area to clear
          NIDRXCTS holds RX counters for the current Queue Reader.
    00B8  184 Dbl-Word     8 NIDRXCTS (0)   Inbound data counters
    00B8  184 Signed       4 NIDRXUCN       RX Unicast NonRouter Bytes
    00BC  188 Signed       4 NIDRXUCR       RX Unicast Router Bytes
    00C0  192 Signed       4 NIDRXMC        RX Multicast Bytes
    00C4  196 Signed       4 NIDRXBC        RX Broadcast Bytes
    00C8  200 Signed       4 NIDRXUPK       RX Unicast NonRouter Packets
    00CC  204 Signed       4 NIDRXRPK       RX Unicast Router Packets
    00D0  208 Signed       4 NIDRXMPK       RX Multicast Packets
    00D4  212 Signed       4 NIDRXBPK       RX Broadcast Packets
    00D8  216 Signed       4 NIDRXERR       RX Bad Packets
    00DC  220 Signed       4 NIDRXDSC       RX Discarded Packets
              00000028       NIDRXCLN       (*-NIDRXCTS) Length of NIDRXCTS
                                            area to clear
          End of NIDBK structure.
              000000E0       NID$END        * End of NIDBK
              000000E0       NIDBKLN        *-NIDBK Length of NICBK in bytes
              0000001C       NIDBKSZ        (*-NIDBK+7)/8 Size of NICBK in
                                            doublewords

#### NIDBK Storage Layout

    *** NIDBK - Network Interface Device Block.
    *
    *     +-------------------------------------------------------+
    *   0 |                       NIDDESC                         |
    *     +---------------------------+---------------------------+
    *   8 |         NIDVDEV           |         NIDNICBK          |
    *     +---------------------------+---------------------------+
    *  10 |         NIDFPNT           |         NIDBPNT           |
    *     +------+------+------+------+------+------+------+------+
    *  18 |:TYPE |:GWFCN|NIDUA0|NIDUA |:LATCH|:GWSTS|:CNTRL|:UISTS|
    *     +------+------+------+------+------+------+------+------+
    *  20 |NIDCMD|:DVPST|:DVSTS|:TRFLG|:SNS0 |:SNS1 |:PVCMD|:PVSTS|
    *     +------+------+------+------+------+------+------+------+
    *  28 |         NIDRFCTR          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  30 |         NIDXFRPT          |         NIDXFRLN          |
    *     +---------------------------+-------------+-------------+
    *  38 |         NIDIPTBL          |  NIDIPCTR   |/////////////|
    *     +---------------------------+-------------+-------------+
    *  40 |         NIDBCIPN          |         NIDMCIPN          |
    *     +---------------------------+---------------------------+
    *  48 |         NIDDXIPN          |         NIDPXIPN          |
    *     +---------------------------+---------------------------+
    *  50 |         NIDSPNLK          |         NIDCPEBK          |
    *     +---------------------------+-------------+-------------+
    *  58 |         NIDSTACK          |/////////////|  NIDNDMCT   |
    *     +---------------------------+-------------+-------------+
    *  60 |         NIDNDMHD          |         NIDNDMTL          |
    *     +---------------------------+---------------------------+
    *  68 |         NIDMPCBK          |         NIDVQSBK          |
    *     +------+------+-------------+-------------+-------------+
    *  70 |:FLAG1|//////|  NIDGVPRT   |  NIDGVID    |  NIDGVTAG   |
    *     +------+------+-------------+-------------+-------------+
    *  78 |  NIDVLAN1   |  NIDVLAN2   |  NIDVLAN3   |  NIDVLAN4   |
    *     +-------------+-------------+-------------+-------------+
    *  80 |///////////////////////////////////////////////////////|
    *     |///////////////////////////////////////////////////////|
    *     +---------------------------+---------------------------+
    *  90 |         NIDTXUCN          |         NIDTXUCR          |
    *     +---------------------------+---------------------------+
    *  98 |         NIDTXMC           |         NIDTXBC           |
    *     +---------------------------+---------------------------+
    *  A0 |         NIDTXUPK          |         NIDTXRPK          |
    *     +---------------------------+---------------------------+
    *  A8 |         NIDTXMPK          |         NIDTXBPK          |
    *     +---------------------------+---------------------------+
    *  B0 |         NIDTXERR          |         NIDTXDSC          |
    *     +---------------------------+---------------------------+
    *  B8 |         NIDRXUCN          |         NIDRXUCR          |
    *     +---------------------------+---------------------------+
    *  C0 |         NIDRXMC           |         NIDRXBC           |
    *     +---------------------------+---------------------------+
    *  C8 |         NIDRXUPK          |         NIDRXRPK          |
    *     +---------------------------+---------------------------+
    *  D0 |         NIDRXMPK          |         NIDRXBPK          |
    *     +---------------------------+---------------------------+
    *  D8 |         NIDRXERR          |         NIDRXDSC          |
    *     +---------------------------+---------------------------+
    *  E0
    *
    *** NIDBK - Network Interface Device Block.

#### NIDBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    NID$END        00DC 000000E0
    NIDBCIPN       0040
    NIDBKLN        00DC 000000E0
    NIDBKSZ        00DC 0000001C
    NIDBPNT        0014
    NIDBUSCK       0024 20
    NIDBUSY        001C 80
    NIDCANCL       0024 01
    NIDCCC         0024 04
    NIDCCFLG       001C 10
    NIDCCW1        001C 20
    NIDCDC         0024 08
    NIDCMD         0020
    NIDCMREJ       0024 80
    NIDCNTRL       001E
    NIDCPEBK       0054
    NIDCTLRD       0019 00000001
    NIDCTLWR       0019 00000002
    NIDDATA        0019 00000003
    NIDDESC        0000
    NIDDET         001E 08
    NIDDVPST       0021
    NIDDVSTS       0022
    NIDDXIPN       0048
    NIDEQCHK       0024 10
    NIDFLAG1       0070
    NIDFPNT        0010
    NIDGVID        0074
    NIDGVPRT       0072
    NIDGVTAG       0076
    NIDGWDEV       001A
    NIDGWFCN       0019
    NIDGWSTS       001D
    NIDIDMSK       0076 00000FFF
    NIDIFCC        0024 02
    NIDINTRQ       0024 40
    NIDIPCTR       003C
    NIDIPTBL       0038
    NIDLATCH       001C
    NIDMCIPN       0044
    NIDMPCBK       0068
    NIDMSPND       001D 80
    NIDNDMCT       005E
    NIDNDMHD       0060
    NIDNDMTL       0064
    NIDNEWUC       001C 08
    NIDNICBK       000C
    NIDNOFCN       0019 00000000
    NIDNTRDY       001C 40
    NIDPASS_ENABLED
                   0070 00000008
    NIDPRMSK       0076 0000E000
    NIDPVCMD       0026
    NIDPVSTS       0027
    NIDPXIPN       004C
    NIDRDACT       001D 20
    NIDRDPND       001D 40
    NIDRESET       001E 10
    NIDRFCTR       0028
    NIDRJRES       0025 80
    NIDRSEVT       001C 04
    NIDRXBC        00C4
    NIDRXBPK       00D4
    NIDRXCLN       00DC 00000028
    NIDRXCTS       00B8
    NIDRXDSC       00DC
    NIDRXERR       00D8
    NIDRXMC        00C0
    NIDRXMPK       00D0
    NIDRXRPK       00CC
    NIDRXUCN       00B8
    NIDRXUCR       00BC
    NIDRXUPK       00C8
    NIDSCHED       001E 40
    NIDSNS         0024
    NIDSNS0        0024
    NIDSNS1        0025
    NIDSPNLK       0050
    NIDSTACK       0058
    NIDSTSWD       001C
    NIDSUSPD       001E 80
    NIDTRCCW       0023 80
    NIDTRFLG       0023
    NIDTRXFR       0023 40
    NIDTXBC        009C
    NIDTXBPK       00AC
    NIDTXCLN       00B4 00000028
    NIDTXCTS       0090
    NIDTXDSC       00B4
    NIDTXERR       00B0
    NIDTXMC        0098
    NIDTXMPK       00A8
    NIDTXRPK       00A4
    NIDTXUCN       0090
    NIDTXUCR       0094
    NIDTXUPK       00A0
    NIDTYPE        0018
    NIDUA          001B
    NIDUA0         001A
    NIDUIPND       001E 20
    NIDUISTS       001F
    NIDVDEV        0008
    NIDVLAN_CONFLICT
                   0070 00000010
    NIDVLAN_ENABLED
                   0070 00000080
    NIDVLAN_FORCED
                   0070 00000004
    NIDVLAN_GBLID  0070 00000020
    NIDVLAN_GBLPRT
                   0070 00000040
    NIDVLANS       0078
    NIDVLAN1       0078
    NIDVLAN2       007A
    NIDVLAN3       007C
    NIDVLAN4       007E
    NIDVQSBK       006C
    NIDWRACT       001D 10
    NIDXDACT       001D 08
    NIDXFRLN       0034
    NIDXFRPT       0030

This information is based on z/VM V4R4.0. Last updated on 6 Aug 2003 at 08:54:17 EDT.
Copyright IBM Corporation, 1990, 2003