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

#### NDMBK

Prolog

Control Block Contents
NDMBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### NDMBK Prolog

     NAME       : HCPNDMBK
     DESCRIPTION: Network Device Message Block
     DSECT      : NDMBK
     FUNCTION   :
                  Define a structure to represent a Network Device Message.
                  One NDMBK exists to represent each message frame
                  created for a Network Interface Device (NID).
     LOCATED BY -
       NIDNDMHD = Pointer to the first NDMBK for the device.
       NIDNDMTL = Pointer to the last NDMBK for the device.
     CREATED BY :
                  Receipt of a message for a Network Interface Device.
     DELETED BY :
                  Delivery of a message for a Network Interface Device.
     General Note :
                  - Mapped in the system execution space.
                  - Not known by hardware.

#### NDMBK Control Block Content

#### NDMBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      NDMBK          Network Device Message Block
          Chain pointers (maintained by the NDMBK user).
    0000    0 Dbl-Word     8 NDMPTRS (0)    Forward and Backward Pointers
    0000    0 Address      4 NDMFPNT        Host logical address of next
                                            NDMBK.
    0004    4 Address      4 NDMBPNT        Host logical address ofBK
                                            previous NDMBK.
          Link to message buffer.
            For the primary NDMBK (NDMPRIME) this includes
            the pointer to the associated buffer storage.
            For a cloned NDMBK (NDMCLONE) this includes the
            pointer to the primary NDMBK.
    0008    8 Bitstring    8 NDMSPEC        Primary or Cloned message fields
          Message data parameters.
            This represents the length and address of a message
            contained within the associated buffer area.
    0010   16 Bitstring    8 NDMPARMS (0)   Message parms
                                            <length,address>
    0010   16 Signed       4 NDMBYTES       Bytes in this fragment
    0014   20 Address      4 NDMDATA        Pointer to message data
          Static attributes (maintained by the support routines).
    0018   24 Bitstring    1 NDMATTR        Message Attributes
              1... ....      NDMALLOC       X'80' NDMALLOC - Storage was
                                            allocated
              .1.. ....      NDMFRAME       X'40' NDMFRAME - Allocated a 4K
                                            frame
              ..1. ....      NDMPRIME       X'20' NDMPRIME - This is a
                                            PRIMARY NDMBK
              ...1 ....      NDMCLONE       X'10' NDMCLONE - This is a CLONE
                                            NDMBK
              .... 1...      NDMVSWCH       X'08' NDMVSWCH - Received on
                                            VSWITCH Input Q
          Beginning of NDMBK "application" data.
              00000019       NDMHDR2        * Offset of application header
          Data Transfer type (valid for first fragment in datagram).
    0019   25 Bitstring    1 NDMDTYPE       Datagram type
              00000000       NDMUCDAT       0 NDMUCDAT - Unicast data
              00000004       NDMMCDAT       4 NDMMCDAT - Multicast data
              00000008       NDMBCDAT       8 NDMBCDAT - Broadcast data
          Data Transfer flags (valid for any fragment).
    001A   26 Bitstring    1 NDMFLAGS       Message Flags
              1... ....      NDMDVHDR       X'80' NDMDVHDR - NDMBK includes
                                            Device Header
              .1.. ....      NDMXDATA       X'40' NDMXDATA - NDMBK includes
                                            XFER Data
              ..1. ....      NDMHOLD        X'20' NDMHOLD - NDMBK is on Hold
              ...1 ....      NDMFLOOD       X'10' NDMFLOOD - NDMBK is to
                                            Flood the segment
              .... 1...      NDMSNRTR       X'08' NDMSNRTR - NDMBK Source is
                                            NetRouter
              .... .1..      NDMTNRTR       X'04' NDMTNRTR - NDMBK Target is
                                            NetRouter
              .... ..1.      NDMLLFRM       X'02' NDMLLFRM - NDMBK is a Link
                                            Layer frame
              .... ...1      NDMLLMOD       X'01' NDMLLMOD - NDMBK is
                                            modified (redirected)
          Data Transfer disposition (valid for first fragment).
    001B   27 Bitstring    1 NDMDISP        Message Disposition
              00000000       NDMOK          0 NDMOK - Delivered to target
              00000004       NDMRTR         4 NDMRTR - Delivered to a router
              00000008       NDMDSC         8 NDMDSC - Discarded
              0000000C       NDMERR         12 NDMERR - Packet error
          Data Transfer length (total datagram length).
    001C   28 Signed       4 NDMTOTLN       Total bytes in datagram
          Data Transfer destination (valid in first fragment).
            For a Link Layer datagram (QDIO Format 02) NDMLLFRM==1
            and NDMDMAC holds the destination MAC address.
            For an IP Layer datagram in PASSTHRU mode, NDMLLFRM==1
            and NDMDMAC holds the destination MAC address.
            For an IP Layer datagram (non-passthru) NDMLLFRM==0
            and the QDIO Header holds the destination IP Address.
    0020   32 Bitstring    8 NDMDEST (0)    Link Layer Destination
    0020   32 Signed       2 NDMVLAN        VLAN ID
    0022   34 Bitstring    6 NDMDMAC        Destination MAC address
          Fields relating to a subchain.
            When multiple buffers represent a single logical message,
            NDMCHAIN may act as the anchor for a subchain, pointing
            to a list of NDMBK elements.  NDMPARTS should contain
            the number of elements on this chain.
    0028   40 Address      4 NDMCHAIN       Host logical address of the first
                                            NDMBK of a fragment chain,
                                            chained with NDMFPNT/NDMBPNT
    002C   44 Signed       2 NDMPARTS       Total fragments (NDMCHAIN)
    002E   46 Signed       2 NDMPRTY        Priority (unused at this time)
          Source Identification (NIDBK).
            No action is taken to protect the NIDBK from destruction,
            so the NDMSRCBK->NIDBK field is ONLY designed to act
            as an identifier to avoid delivering a frame to the
            originator (and to help with debug).
    0030   48 Address      4 NDMSRCBK       Pointer to NIDBK (Source)
          Data Transfer Frame Type (valid in fragment 1).
            Note that these are only the most common frame types
            in our environment.
    0034   52 Signed       2 NDMFTYPE       Payload frame type
              00000800       NDMFTYPE_IPV4  X'0800' NDMFTYPE_IPV4 - Payload
                                            is an IPv4 frame
              00000806       NDMFTYPE_ARP   X'0806' NDMFTYPE_ARP - Payload is
                                            an ARP frame
              000086DD       NDMFTYPE_IPV6  X'86DD' NDMFTYPE_IPV6 - Payload
                                            is an IPv6 frame
    0036   54 Bitstring    2 *              Reserved
          End of NDMBK structure.
              0000001F       NDMLEN2        (*-NDMHDR2) Length of application
                                            header
    0038   56 Bitstring    1 NDM$END (0)    End of NDMBK
              00000038       NDMBKLN        *-NDMBK Length of GBEBK in bytes
              00000007       NDMBKSZ        (*-NDMBK+7)/8 Size of GBEBK in
                                            doublewords
          Overlay NDMSPEC for a Primary NDMBK.
    0008    8 Address      4 NDMBUFAD       Host logical address of original
                                            buffer.
    000C   12 Signed       4 NDMRFCTR       Reference counter
          Overlay NDMSPEC for a Cloned NDMBK.
    0008    8 Character    4 NDMCLNID       Clone eye-catcher (c'COPY')
    000C   12 Address      4 NDMORIG        Host logical address of Primary
                                            NDMBK.

#### NDMBK Storage Layout

    *** NDMBK - Network Device Message Block
    *
    *     +---------------------------+---------------------------+
    *   0 |         NDMFPNT           |         NDMBPNT           |
    *     +---------------------------+---------------------------+
    *   8 |                       NDMSPEC                         |
    *     +---------------------------+---------------------------+
    *  10 |         NDMBYTES          |         NDMDATA           |
    *     +------+------+------+------+---------------------------+
    *  18 |:ATTR |:DTYPE|:FLAGS|:DISP |         NDMTOTLN          |
    *     +------+------+------+------+---------------------------+
    *  20 |  NDMVLAN    |                NDMDMAC                  |
    *     +-------------+-------------+-------------+-------------+
    *  28 |         NDMCHAIN          |  NDMPARTS   |  NDMPRTY    |
    *     +---------------------------+-------------+-------------+
    *  30 |         NDMSRCBK          |  NDMFTYPE   |/////////////|
    *     +---------------------------+-------------+-------------+
    *
    *** NDMBK - Network Device Message Block

    *** Overlay for NDMSPEC in NDMBK
    *
    *     +---------------------------+---------------------------+
    *   8 |         NDMBUFAD          |         NDMRFCTR          |
    *     +---------------------------+---------------------------+
    *  10
    *
    *** Overlay for NDMSPEC in NDMBK

    *** Overlay for NDMSPEC in NDMBK
    *
    *     +---------------------------+---------------------------+
    *   8 |         NDMCLNID          |         NDMORIG           |
    *     +---------------------------+---------------------------+
    *  10
    *
    *** Overlay for NDMSPEC in NDMBK

#### NDMBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    NDM$END        0038
    NDMALLOC       0018 80
    NDMATTR        0018
    NDMBCDAT       0019 00000008
    NDMBKLN        0038 00000038
    NDMBKSZ        0038 00000007
    NDMBPNT        0004
    NDMBUFAD       0008
    NDMBYTES       0010
    NDMCHAIN       0028
    NDMCLNID       0008
    NDMCLONE       0018 10
    NDMDATA        0014
    NDMDEST        0020
    NDMDISP        001B
    NDMDMAC        0022
    NDMDSC         001B 00000008
    NDMDTYPE       0019
    NDMDVHDR       001A 80
    NDMERR         001B 0000000C
    NDMFLAGS       001A
    NDMFLOOD       001A 10
    NDMFPNT        0000
    NDMFRAME       0018 40
    NDMFTYPE       0034
    NDMFTYPE_ARP   0034 00000806
    NDMFTYPE_IPV4  0034 00000800
    NDMFTYPE_IPV6  0034 000086DD
    NDMHDR2        0018 00000019
    NDMHOLD        001A 20
    NDMLEN2        0036 0000001F
    NDMLLFRM       001A 02
    NDMLLMOD       001A 01
    NDMMCDAT       0019 00000004
    NDMOK          001B 00000000
    NDMORIG        000C
    NDMPARMS       0010
    NDMPARTS       002C
    NDMPRIME       0018 20
    NDMPRTY        002E
    NDMPTRS        0000
    NDMRFCTR       000C
    NDMRTR         001B 00000004
    NDMSNRTR       001A 08
    NDMSPEC        0008
    NDMSRCBK       0030
    NDMTNRTR       001A 04
    NDMTOTLN       001C
    NDMUCDAT       0019 00000000
    NDMVLAN        0020
    NDMVSWCH       0018 08
    NDMXDATA       001A 40

This information is based on z/VM V6R1.0. Last updated on 18 Feb 2010 at 08:52:02 EDT.
Copyright IBM Corporation, 1990, 2008