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.
 RELOCATION CONSIDERATIONS : None
 GENERAL NOTES      : - 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 V6R2.0. Last updated on 21 Nov 2011 at 11:11:28 EDT.
Copyright IBM Corporation, 1990, 2011