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

NICBK

Prolog  

Control Block Contents  
   NICBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


NICBK Prolog

 NAME       : HCPNICBK
 DESCRIPTION: Virtual Network Interface Card block
 DSECT      : NICBK
 FUNCTION   :
              Define a structure to represent a Network Interface
              Card.  One NICBK exists for each Virtual Adapter.
              Each NICBK is associated with a set of Virtual
              Network Interface Devices (VDEV/NIDBK).
 LOCATED BY -
   VDEVNIC  = Pointer to owning adapter NICBK
   NIDNICBK = Pointer to owning adapter NICBK
   LNKNICHD = Pointer to chain of coupled adapter NICBK
 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
 Comments   :
              - Exist in the system execution space.
              - Not known by Hardware.
              - See Serialization comments in the Assembler section.

 

NICBK Control Block Content


NICBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      NICBK          Virtual Network Interface Card
                                        block
      Static Area -
        The fields in this area are relatively constant.
        They are initialized when the adapter (NIC) is
        created, and may be referenced with minimal
        serialization (just enough to be sure your pointer
        to the NICBK is valid).
0000    0 Character    8 NICDESC        NIC Description (e.g. HIPER)
0008    8 Character    8 NICOWNER       NIC Owner VM Userid
0010   16 Signed       2 NICBASE        NIC Base Virtual Device Address
0012   18 Signed       2 NICLAST        NIC Last Virtual Device Address
0014   20 Signed       2 NICDEVS        NIC Device Count
0016   22 Bitstring    1 NICTYPE        Network Device Type
          00000001       NICHIPR        1 NICHIPR HiperSockets adapter
                                        type
          00000002       NICQDIO        2 NICQDIO QDIO adapter type
          00000003       NICVSW         3 NICVSW QDIO VSWITCH connection
0017   23 Bitstring    1 NICTRANP       Transport type
          00000001       NICIP          1 NICIP Layer 3 IP datagrams
          00000002       NICETHER       2 NICETHER Layer 2 Ethernet
                                        frames
          00000003       NICUNKWN       3 NICUNKWN Unknown NIC type -
                                        never coupled
0018   24 Bitstring    2 NICCUTYP       Simulated Control Unit Type
001A   26 Bitstring    1 NICCUMDL       Simulated Control Unit Model
001B   27 Bitstring    2 NICDVTYP       Simulated Device Type
001D   29 Bitstring    1 NICDVMDL       Simulated Device Model
001E   30 Bitstring    1 NICCHPTP       CHPID type for this adapter
001F   31 Bitstring    1 NICCHPID       CHPID for this adapter
0020   32 Address      4 NICVDEV        Host logical Addr of Base VDEV
0024   36 Signed       4 NICMFS         MFS (bytes) for current LAN
0028   40 Bitstring    6 NICMAC         MAC Address for this adapter
002E   46 Bitstring    2 NICTKUID       Latest unique token id
0030   48 Address      4 NICTKLST       List of Unique Tokens HL @ of
                                        chain of TKNBKs (See HCPIPY)
      NICVLANS represents the Authorized VID set.
        When NICVLANS==NULL it means the switch simulation
          does not restrict the virtual NIC to any specific
          VID set.
        When NICVLANS==nonzero it points to the DVLHEAD
          structure representing the Authorized VID set for
          this virtual NIC on this virtual switch.
0034   52 Address      4 NICVLANS       Pointer to list of VLAN groups
0038   56 Signed       2 NICVLCTR       Size of Authorized VID set
003A   58 Signed       2 NIC_VIDINST    Authorized VLAN instance
003C   60 Address      4 NICVLCPT       Pointer to cached VLCBK
      NIC Adapter Lock -
      Notes      : LKWRDSIZ == 3 doublewords.
0040   64 Dbl-Word     8 NICLKWRD (3)   Adapter Lockword
      Adapter Management Area -
        The fields in this area are used in the normal
        operation of the adapter (NIC).  In general,
        these fields are serialized by the NIC Adapter Lock:
        - Hold NICLKWRD EXCLUSIVE to update
        - Hold NICLKWRD SHARED to reference
      NICRFCTR is used to protect the NICBK over a stacked call.
      - NICRFCTR is updated using Compare and Swap (CS) logic.
      - NICLKWRD (Shared or Exclusive) must be held, or
        LANLKWRD (Shared or Exclusive) must be held to update
        NICRFCTR.
      - The code that intends to initiate a deferred (stacked)
        call must increment NICRFCTR (using CS logic).
      - The code that is dispatched asynchronously should
        perform the following steps:
        (1) Obtain NICLKWRD (Shared or Exclusive)
        (2) Decrement NICRFCTR (using CS logic).
        (3) If NICDLPRG=1 (Delete in Progress),
               If NICRFCTR = 0,
                  Obtain NICLKWRD Exclusive (see HCPLCKSX).
                  Call HCPNICDX to Destroy this NICBK.
                  Exit without attempting to release NICLKWRD.
               If NICRFCTR > 0,
                  Release NICLKWRD and exit.
0058   88 Signed       4 NICRFCTR       Outstanding Reference count
005C   92 Bitstring    1 NICCFLG        Adapter Configuration flags
          1... ....      NICINPRG       X'80' NICINPRG Initialization in
                                        Progress
          .1.. ....      NICDLPRG       X'40' NICDLPRG Delete in Progress
          ..1. ....      NICCNLAN       X'20' NICCNLAN Connected to a
                                        SYSTEM LAN
          ...1 ....      NICPVLAN       X'10' NICPVLAN Connected to a
                                        PRIVATE LAN
          .... 1...      NICREADY       X'08' NICREADY LAN READY
          .... .1..      NICROUTR       X'04' NICROUTR NETROUTER is set
                                        (USER DIRECT)
          .... ..1.      NICPAUT        X'02' NICPAUT Promiscuous Mode
                                        Authority
005D   93 Bitstring    1 NICVLFLG       VLAN attribute flags
          1... ....      NICVLGBL       X'80' NICVLGBL Global VLAN
                                        (NICPVID) is set
          .1.. ....      NICVLUSR       X'40' NICVLUSR User selects from
                                        NICVLANS list
          ..1. ....      NICVLFLT       X'20' NICVLFLT Filter by VID set
          ...1 ....      NICVLNON       X'10' NICVLNON No VLAN capability
005E   94 Signed       2 NICPVID        Port VLAN ID
0060   96 Address      4 NICNIDHD       Host logical address of the first
                                        NIDBK, chained by NIDFPNT/NIDBPNT
0064  100 Address      4 NICNIDTL       HL @ of the last NIDBK
0068  104 Signed       4 NICMGPOR       Port number
006C  108 Signed       4 NICMGIFI       ifIndex number
      Device Specific Area -
0070  112 Bitstring    1 NICQDFMT       QDIO Queue Format
0071  113 Bitstring    1 NICVPORT       Virtual Port attributes
          00000000       NICVPORT_NONE  0 NICVPORT_NONE = Disabled
          00000001       NICVPORT_ACCESS
                                        1 NICVPORT_ACCESS = Access Port
                                        (untagged)
          00000002       NICVPORT_TRUNK 2 NICVPORT_TRUNK = Trunk Port
                                        (tagged or mix
0072  114 Bitstring    1 NICAFLG        Authorization flags
          1... ....      NICAUTHX       X'80' NICAUTHX Authorized by the
                                        ESM
0073  115 Bitstring    9 NICADPTK (0)   Adapter Name : Length||Token
0073  115 Bitstring    1 NICADPNL       Length of NICADPNM Token
0074  116 Character    8 NICADPNM       Adapter Name Token
007C  124 Signed       4 NICMPCCT       Count of established MPC groups
0080  128 Address      4 NICMPCHD       Host logical address of the first
                                        MPCBK, chained by MPCNEXT/MPCPREV
0084  132 Address      4 NICMPCTL       HL @ of the last MPCBK
0088  136 Signed       2 NICMAXIQ       Maximum INPUT Queues per MPC
008A  138 Signed       2 NICMAXOQ       Maximum OUTPUT Queues per MPC
008C  140 Signed       2 NICIPMAX       IP Table Limit for this adapter
008E  142 Signed       2 NICIPCTR       IP Table Count for this adapter
0090  144 Bitstring   16 NICDEFIP       Default IP Address (accounting)
00A0  160 Signed       2 NICLLMAX       IP Table Limit for this adapter
00A2  162 Signed       2 NICLLCTR       IP Table Count for this adapter
00A4  164 Address      4 NICPROM        Pointer to the NIDBK in PROMISC
      LAN Management Area -
        The fields in this area are used to connect the
        adapter (NIC) to a Virtual LAN.
        To connect or disconnect this adapter (NIC) to/from
        a Virtual LAN, the following locks must be obtained
        (in this sequence):
        - The LAN Lock (LANLKWRD) EXCLUSIVE
        - The NIC Adapter Lock (NICLKWRD) EXCLUSIVE
        To reference these fields (e.g. while following
        the chain) you only need to hold LANLKWRD SHARED.
        - Access to the field NICNCABK and the contents of
          the NCABK are serialized by the NICCTRLK.
00A8  168 Address      4 NICFPNT        Host logical address of the next
                                        NICBK.
00AC  172 Address      4 NICBPNT        Host logical address of the
                                        previous NICBK.
00B0  176 Address      4 NICLANBK       Host logical address of the
                                        associated LANBK. If NICCNLAN=1
                                        this is a System LAN. Otherwise
                                        this is the PRIVATE LAN that
                                        represents a disconnected
                                        adapter.
00B4  180 Address      4 NICSIGA        SIGA Simulation routine Linkage:
                                        HCPCALL R15 Input/Output: Like
                                        HCPIQQWR TMODEAR or TMODESTD
00B8  184 Address      4 NICNCABK       Host logical address of the NCABK
00BC  188 Address      4 NICESMVL       ESM VLAN List Pointer
      Adapter Router entries.
00C0  192 Address      4 NICRXTBL       Pointer to IPNBK(Router) list
00C4  196 Signed       2 NICRXCTR       Count of Router entries
00C6  198 Bitstring    6 *              Reserved for future IBM use
00CC  204 Address      4 NICVRTBK       VSWITCH Routing Table
      Adapter Counter LKWRD.
         The adapter counter lock word serializes the field
         NICNCABK, the contents of the NCABK, and the adapter
         counters (starting with NICTXBYT.)
      Notes      : LKWRDSIZ == 3 doublewords.
00D0  208 Dbl-Word     8 NICCTRLK (3)   Adapter Counter Lockword
      Adapter Counters.
00E8  232 Dbl-Word     8 NICCTRS (0)    Start of NICBK counters
00E8  232 Dbl-Word     8 NICTXBYT       Total Bytes Sent
00F0  240 Dbl-Word     8 NICRXBYT       Total Bytes Received
00F8  248 Dbl-Word     8 NICTXPKT (0)   TX Packets extracted
00F8  248 Signed       4 NICTXPKTHI     - High half
00FC  252 Signed       4 NICTXPKTLO     - Low half
0100  256 Dbl-Word     8 NICTXDSC (0)   TX Packets discarded
0100  256 Signed       4 NICTXDSCHI     - High half
0104  260 Signed       4 NICTXDSCLO     - Low half
0108  264 Dbl-Word     8 NICTXERR (0)   TX Bad Packets discarded
0108  264 Signed       4 NICTXERRHI     - High half
010C  268 Signed       4 NICTXERRLO     - Low half
0110  272 Dbl-Word     8 NICRXPKT (0)   RX Packets received
0110  272 Signed       4 NICRXPKTHI     - High half
0114  276 Signed       4 NICRXPKTLO     - Low half
0118  280 Dbl-Word     8 NICRXDSC (0)   RX Packets discarded/overflow
0118  280 Signed       4 NICRXDSCHI     - High half
011C  284 Signed       4 NICRXDSCLO     - Low half
0120  288 Dbl-Word     8 NICRXERR (0)   RX Bad Packets discarded
0120  288 Signed       4 NICRXERRHI     - High half
0124  292 Signed       4 NICRXERRLO     - Low half
      Adapter Counters (Continue)
      The following set of counters are used to keep track of a
      specific port's attempt to acquire key locks or stack work
      in the main line data transfer path.  In addition to
      keeping track of the lock requests, a corresponding
      counter will indicate the number of times the port had to
      wait to perform the function.
      The following information is kept on a per port basis,
      including both real and virtual guest LAN ports:
        LANBK (LANLKWR) lock requests sending or receiving data.
        NICBK (NICLKWD) lock requests when sending data to
                        another port.
        NICBK (NICLKWD) lock requests when receiving data from
                        another port.
        Stacking and unstacking work (NDMBKs) on NIDSTACK.
0128  296 Dbl-Word     8 NIC_LOCKREQS   LANBK lock request
0130  304 Dbl-Word     8 NIC_LANDEFER   LANBK lock deferrals
0138  312 Dbl-Word     8 NIC_TXREQS     NICBK lock requests sending data
0140  320 Dbl-Word     8 NIC_TXDEFERS   NICBK lock deferrals sending data
0148  328 Dbl-Word     8 NIC_RXREQS     NICBK lock requests receiving
                                        data
0150  336 Dbl-Word     8 NIC_RXDEFERS   NICBK lock deferrals receiving
                                        data
0158  344 Dbl-Word     8 NIC_STKREQS    Count of work stacked on NIDSTACK
0160  352 Dbl-Word     8 NIC_STKDEFERS  Times it took multiple attempts
                                        to stack work on NIDSTACK.
0168  360 Dbl-Word     8 NIC_SESRXPCI   Count of PCI (or AIF) events
                                        reflected for input queues.
0170  368 Dbl-Word     8 NIC_SESTXPCI   Count of PCI (or AIF) events
                                        reflected for output queues.
          00000090       NICCTRLN       *-NICCTRS Length of NICBK
                                        counters
      Pointer to structure of vlan counters (VLCBK)
      Will contain:
      Pointer back to owning NICBK (A or AD)
      and 3 double word counters:
      # of Frames IN   (VLCIN)
      # of Frames OUT  (VLCOUT)
      # of Frames IN Discarded (VLCINDSC)
      # of Frames OUT Discarded (VLCOUTDC)
      For each VLAN (1-4094)
0178  376 Dbl-Word     8 NICCTRVL (4)   Reserve a MLTBK here
      DEDICATE_ADAPTER simulation.
0198  408 Bitstring    1 NICHWDED       DEDICATE_ADAPTER status
          1... ....      NICHWDED_ON    X'80' NICHWDED_ON - Adapter is
                                        dedicated now
0199  409 Bitstring    1 *              Reserved for IBM use
019A  410 Signed       2 NICDEDUA       Unit Address (offset) of owner
019C  412 Bitstring    6 NICDEDMA       ExclusiveUsageMAC
01A2  418 Bitstring    2 *              Reserved for IBM use
01A4  420 Bitstring    8 NICDEDID       ExclusiveUsageID
      End of the NICBK.
01B0  432 Dbl-Word     8 NIC$END (0)    End of the NICBK structure
          000001B0       NICBKLN        *-NICBK Length of NICBK in bytes
          00000036       NICBKSZ        (*-NICBK+7)/8 Size of NICBK in
                                        doublewords
      Related constants.
          00000100       NICMAXDV       256 Max Network Devices per NIC
          00000020       NICMAXNT       32 Max Network Ports per NIC
      Define MLTBK for this compile.
       PREFIX_LEN = 3
      Start of Assembler Control Block

 

NICBK Storage Layout

          
*** NICBK - Virtual Network Interface Card block
*
*     +-------------------------------------------------------+
*   0 |                       NICDESC                         |
*     +-------------------------------------------------------+
*   8 |                       NICOWNER                        |
*     +-------------+-------------+-------------+------+------+
*  10 |  NICBASE    |  NICLAST    |  NICDEVS    |:TYPE |:TRANP|
*     +-------------+------+------+------+------+------+------+
*  18 |  NICCUTYP   |:CUMDL|  NICDVTYP   |:DVMDL|:CHPTP|:CHPID|
*     +-------------+------+------+------+------+------+------+
*  20 |         NICVDEV           |          NICMFS           |
*     +---------------------------+-------------+-------------+
*  28 |                 NICMAC                  |  NICTKUID   |
*     +---------------------------+-------------+-------------+
*  30 |         NICTKLST          |         NICVLANS          |
*     +-------------+-------------+---------------------------+
*  38 |  NICVLCTR   |NIC_VIDINST  |         NICVLCPT          |
*     +-------------+-------------+---------------------------+
*  40 |                                                       |
*     =                       NICLKWRD                        =
*     |                                                       |
*     +---------------------------+------+------+-------------+
*  58 |         NICRFCTR          |:CFLG |:VLFLG|  NICPVID    |
*     +---------------------------+------+------+-------------+
*  60 |         NICNIDHD          |         NICNIDTL          |
*     +---------------------------+---------------------------+
*  68 |         NICMGPOR          |         NICMGIFI          |
*     +------+------+------+------+---------------------------+
*  70 |:QDFMT|:VPORT|:AFLG |:ADPNL|        NICADPNM-          |
*     +------+------+------+------+---------------------------+
*  78 |          -(074)           |         NICMPCCT          |
*     +---------------------------+---------------------------+
*  80 |         NICMPCHD          |         NICMPCTL          |
*     +-------------+-------------+-------------+-------------+
*  88 |  NICMAXIQ   |  NICMAXOQ   |  NICIPMAX   |  NICIPCTR   |
*     +-------------+-------------+-------------+-------------+
*  90 |                       NICDEFIP                        |
*     |                                                       |
*     +-------------+-------------+---------------------------+
*  A0 |  NICLLMAX   |  NICLLCTR   |         NICPROM           |
*     +-------------+-------------+---------------------------+
*  A8 |         NICFPNT           |         NICBPNT           |
*     +---------------------------+---------------------------+
*  B0 |         NICLANBK          |         NICSIGA           |
*     +---------------------------+---------------------------+
*  B8 |         NICNCABK          |         NICESMVL          |
*     +---------------------------+-------------+-------------+
*  C0 |         NICRXTBL          |  NICRXCTR   |/////////////|
*     +---------------------------+-------------+-------------+
*  C8 |///////////////////////////|         NICVRTBK          |
*     +---------------------------+---------------------------+
*  D0 |                                                       |
*     =                       NICCTRLK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  E8 |                       NICTXBYT                        |
*     +-------------------------------------------------------+
*  F0 |                       NICRXBYT                        |
*     +---------------------------+---------------------------+
*  F8 |        NICTXPKTHI         |        NICTXPKTLO         |
*     +---------------------------+---------------------------+
* 100 |        NICTXDSCHI         |        NICTXDSCLO         |
*     +---------------------------+---------------------------+
* 108 |        NICTXERRHI         |        NICTXERRLO         |
*     +---------------------------+---------------------------+
* 110 |        NICRXPKTHI         |        NICRXPKTLO         |
*     +---------------------------+---------------------------+
* 118 |        NICRXDSCHI         |        NICRXDSCLO         |
*     +---------------------------+---------------------------+
* 120 |        NICRXERRHI         |        NICRXERRLO         |
*     +---------------------------+---------------------------+
* 128 |                     NIC_LOCKREQS                      |
*     +-------------------------------------------------------+
* 130 |                     NIC_LANDEFER                      |
*     +-------------------------------------------------------+
* 138 |                      NIC_TXREQS                       |
*     +-------------------------------------------------------+
* 140 |                     NIC_TXDEFERS                      |
*     +-------------------------------------------------------+
* 148 |                      NIC_RXREQS                       |
*     +-------------------------------------------------------+
* 150 |                     NIC_RXDEFERS                      |
*     +-------------------------------------------------------+
* 158 |                     NIC_STKREQS                       |
*     +-------------------------------------------------------+
* 160 |                    NIC_STKDEFERS                      |
*     +-------------------------------------------------------+
* 168 |                     NIC_SESRXPCI                      |
*     +-------------------------------------------------------+
* 170 |                     NIC_SESTXPCI                      |
*     +-------------------------------------------------------+
* 178 |                                                       |
*     =                       NICCTRVL                        =
*     |                                                       |
*     +------+------+-------------+---------------------------+
* 198 |:HWDED|//////|  NICDEDUA   |        NICDEDMA-          |
*     +------+------+-------------+---------------------------+
* 1A0 |   -(19C)    |/////////////|        NICDEDID-          |
*     +-------------+-------------+---------------------------+
* 1A8 |          -(1A4)           |///////////////////////////|
*     +---------------------------+---------------------------+
*
*** NICBK - Virtual Network Interface Card block

 

NICBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
NIC$END        01B0
NIC_LANDEFER   0130
NIC_LOCKREQS   0128
NIC_RXDEFERS   0150
NIC_RXREQS     0148
NIC_SESRXPCI   0168
NIC_SESTXPCI   0170
NIC_STKDEFERS  0160
NIC_STKREQS    0158
NIC_TXDEFERS   0140
NIC_TXREQS     0138
NIC_VIDINST    003A
NICADPNL       0073
NICADPNM       0074
NICADPTK       0073
NICAFLG        0072
NICAUTHX       0072 80
NICBASE        0010
NICBKLN        01B0 000001B0
NICBKSZ        01B0 00000036
NICBPNT        00AC
NICCFLG        005C
NICCHPID       001F
NICCHPTP       001E
NICCNLAN       005C 20
NICCTRLK       00D0
NICCTRLN       0170 00000090
NICCTRS        00E8
NICCTRVL       0178
NICCUMDL       001A
NICCUTYP       0018
NICDEDID       01A4
NICDEDMA       019C
NICDEDUA       019A
NICDEFIP       0090
NICDESC        0000
NICDEVS        0014
NICDLPRG       005C 40
NICDVMDL       001D
NICDVTYP       001B
NICESMVL       00BC
NICETHER       0017 00000002
NICFPNT        00A8
NICHIPR        0016 00000001
NICHWDED       0198
NICHWDED_ON    0198 80
NICINPRG       005C 80
NICIP          0017 00000001
NICIPCTR       008E
NICIPMAX       008C
NICLANBK       00B0
NICLAST        0012
NICLKWRD       0040
NICLLCTR       00A2
NICLLMAX       00A0
NICMAC         0028
NICMAXDV       01B0 00000100
NICMAXIQ       0088
NICMAXNT       01B0 00000020
NICMAXOQ       008A
NICMFS         0024
NICMGIFI       006C
NICMGPOR       0068
NICMPCCT       007C
NICMPCHD       0080
NICMPCTL       0084
NICNCABK       00B8
NICNIDHD       0060
NICNIDTL       0064
NICOWNER       0008
NICPAUT        005C 02
NICPROM        00A4
NICPVID        005E
NICPVLAN       005C 10
NICQDFMT       0070
NICQDIO        0016 00000002
NICREADY       005C 08
NICRFCTR       0058
NICROUTR       005C 04
NICRXBYT       00F0
NICRXCTR       00C4
NICRXDSC       0118
NICRXDSCHI     0118
NICRXDSCLO     011C
NICRXERR       0120
NICRXERRHI     0120
NICRXERRLO     0124
NICRXPKT       0110
NICRXPKTHI     0110
NICRXPKTLO     0114
NICRXTBL       00C0
NICSIGA        00B4
NICTKLST       0030
NICTKUID       002E
NICTRANP       0017
NICTXBYT       00E8
NICTXDSC       0100
NICTXDSCHI     0100
NICTXDSCLO     0104
NICTXERR       0108
NICTXERRHI     0108
NICTXERRLO     010C
NICTXPKT       00F8
NICTXPKTHI     00F8
NICTXPKTLO     00FC
NICTYPE        0016
NICUNKWN       0017 00000003
NICVDEV        0020
NICVLANS       0034
NICVLCPT       003C
NICVLCTR       0038
NICVLFLG       005D
NICVLFLT       005D 20
NICVLGBL       005D 80
NICVLNON       005D 10
NICVLUSR       005D 40
NICVPORT       0071
NICVPORT_ACCESS
               0071 00000001
NICVPORT_NONE  0071 00000000
NICVPORT_TRUNK
               0071 00000002
NICVRTBK       00CC
NICVSW         0016 00000003

This information is based on z/VM V5R3.0. Last updated on 25 Jun 2007 at 17:02:19 EDT.
Copyright IBM Corporation, 1990, 2007