NDMBK Back to Index page
 
Prolog 
Control Block Contents 
   NDMBK 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.


  NDMBK Prolog Top of page
 
 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 Top of page
 

 NDMBK DSECT Top of page
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 of 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 .... .1.. NDMBRIDG X'04' NDMBRIDG - Received on Bridge Port INP Q .... ..1. NDMENCAP X'02' NDMENCAP - Encapsulated Frame .... ...1 NDMBYVLN X'01' NDMBYVLN - Bypass VLAN Checking 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.. .... NDMXSNAP X'40' NDMXSNAP - NDMBK includes 802.3 SNAP hdr ..1. .... NDMXPND X'20' NDMXPND - NDMBK is expendable (UDP) .... 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 NDMPEND 0 NDMPEND - Allocated pending transfer 00000004 NDMOK 4 NDMOK - Delivered to target 00000008 NDMRTR 8 NDMRTR - Delivered to a router 0000000C NDMECP 12 NDMECP - Delivered Encapsulated Packet 00000010 NDMDSC 16 NDMDSC - Discarded 00000014 NDMERR 20 NDMERR - Packet error 00000018 NDMCNTRL 24 NDMCNTRL - Header NDMBK for a Control CMD 0000001C NDMDEFER 28 NDMDEFER - Deferred ARP Reply NDMBK 000000FF NDMRCYC 255 NDMRCYC - On Recycle L:NDMBK List Total Payload Length 001C 28 Signed 4 NDMTOTLN Total bytes in DataGram (total DataGram length, excluding the size of the QDIO Header) 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 Overlay NDMDMAC for Deferred ARP Reply (NDMDISP=NDMDEFER) 0022 34 Bitstring 1 NDMRTRYC Retry Count - decremented with each try. 0023 35 Bitstring 1 NDMRTYPE Type of deferred NDMBK 00000000 NDMARPAD 0 NDMARPAD - Add ARP Cache 00000004 NDMARPST 4 NDMARPST - ARP_SETIP 0024 36 Signed 4 NDM_TTL Time to Live 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 VLAN Priority Bits Source Identification Origin | Source Identification Origin | Priority | | (NDMSRCBK) | (NDMPRI) | 0 2 3 9 1 NDMSRCBK Field -------------- Designed to act as an identifier for the originator's network interface to help out with debug. The field contains either the originator's a L:NIDBK or L:VQQBK Control Block. Since these control blocks are allocated on a double word boundary, it allows the 3 least significant bits (29,30 and 31) to be used to specify the transmission priority of the L:NDMBK. To convert the NDMSRCBK Origin to an address, set bits 29,30 and 31 to zero. NDMPRI Field ------------ Specifies the UpLink Port's transmission priority to be used when sending the L:NDMBK to the physical network. +--------+******************************-------+ | NDMPRI | Transmission Priority | +--------+******************************-------+ | 0 | Priority 0 use NICTXCP NIDTRANS | +--------+******************************-------+ | 1 | Priority 1 use NICTXHI NIDTRANS | +--------+******************************-------+ | 2 | Priority 2 use NICTXNM NIDTRANS | +--------+******************************-------+ | 3 | Priority 3 use NICTXLO NIDTRANS | +--------+******************************-------+ Convert NICTXUPL NIDTRABS Offset to a NDMPRI value using SRLG(Rx,Ry,NDMPCVT) 0030 48 Address 4 NDMSRCBK (0) Source Identification Origin (L:NIDBK or L:VQQBK) 0030 48 Bitstring 3 * 0033 51 Bitstring 1 NDMPRI Transmission Priority 00000000 NDMTP0 0 NDMTP0 Transmission Priority 0 00000001 NDMTP1 1 NDMTP1 Transmission Priority 1 00000002 NDMTP2 2 NDMTP2 Transmission Priority 2 00000003 NDMTP3 3 NDMTP3 Transmission Priority 3 00000007 NDMPMASK X'07' NDMPMASK Priority Bit Mask 00000004 NDMPCVT 4 NDMPCVT Shift to convert NICTXUPL to a NDMPRI Value 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 000080DA NDMFTYPE_IVL X'80DA' NDMFTYPE_IVL - Payload is an IVL-MPDU User defined codes : 0000FF01 NDMFTYPE_ICMPNA X'FF01' NDMFTYPE_ICMPNA - Payload is an ICMPv6 Neig Advertisement 0036 54 Bitstring 1 NDMFRMFL Frame management flag 00000001 NDMV4ARP 1 NDMV4ARP - ARP (IPv4) frame 00000002 NDMV6NA 2 NDMV6NA - ICMPv6 Neighbor Advertizement 0037 55 Bitstring 1 * Reserved for IBM use 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 NDMBK in bytes 00000007 NDMBKSZ (*-NDMBK+7)/8 Size of NDMBK 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. Categories for payload length (NDMTOTLN). 00000080 NDMplbSmall 128 Payload <= 128 is Small 00000384 NDMplbMedium 900 Payload <= 900 is Medium 000005DC NDMplbLarge 1500 Payload <= 1500 is Large 00002400 NDMplbJumbo 9216 Payload > 1500 is Jumbo
 
 
  NDMBK Storage Layout Top of page
 
          
*** NDMBK - Network Device Message Block
*
*     +---------------------------+---------------------------+
*   0 |         NDMFPNT           |         NDMBPNT           |
*     +---------------------------+---------------------------+
*   8 |                       NDMSPEC                         |
*     +---------------------------+---------------------------+
*  10 |         NDMBYTES          |         NDMDATA           |
*     +------+------+------+------+---------------------------+
*  18 |:ATTR |:DTYPE|:FLAGS|:DISP |         NDMTOTLN          |
*     +------+------+------+------+---------------------------+
*  20 |  NDMVLAN    |                NDMDMAC                  |
*     +-------------+-----------------------------------------+
*  28
*
*** NDMBK - Network Device Message Block
          
*** Overlay for NDMDMAC in NDMBK
*
*                   +------+------+---------------------------+
*  20 ...        22 |:RTRYC|:RTYPE|         NDM_TTL           |
*     +-------------+------+------+-------------+-------------+
*  28 |         NDMCHAIN          |  NDMPARTS   |  NDMPRTY    |
*     +--------------------+------+-------------+------+------+
*  30 |////////////////////|NDMPRI|  NDMFTYPE   |:FRMFL|//////|
*     +--------------------+------+-------------+------+------+
*
*** Overlay for NDMDMAC in NDMBK
          
*** 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 Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
NDM$END        0038
NDM_TTL        0024
NDMplbJumbo    000C 00002400
NDMplbLarge    000C 000005DC
NDMplbMedium   000C 00000384
NDMplbSmall    000C 00000080
NDMALLOC       0018 80
NDMARPAD       0023 00000000
NDMARPST       0023 00000004
NDMATTR        0018
NDMBCDAT       0019 00000008
NDMBKLN        0038 00000038
NDMBKSZ        0038 00000007
NDMBPNT        0004
NDMBRIDG       0018 04
NDMBUFAD       0008
NDMBYTES       0010
NDMBYVLN       0018 01
NDMCHAIN       0028
NDMCLNID       0008
NDMCLONE       0018 10
NDMCNTRL       001B 00000018
NDMDATA        0014
NDMDEFER       001B 0000001C
NDMDEST        0020
NDMDISP        001B
NDMDMAC        0022
NDMDSC         001B 00000010
NDMDTYPE       0019
NDMDVHDR       001A 80
NDMECP         001B 0000000C
NDMENCAP       0018 02
NDMERR         001B 00000014
NDMFLAGS       001A
NDMFPNT        0000
NDMFRAME       0018 40
NDMFRMFL       0036
NDMFTYPE       0034
NDMFTYPE_ARP   0034 00000806
NDMFTYPE_ICMPNA
               0034 0000FF01
NDMFTYPE_IPV4  0034 00000800
NDMFTYPE_IPV6  0034 000086DD
NDMFTYPE_IVL   0034 000080DA
NDMHDR2        0018 00000019
NDMLEN2        0037 0000001F
NDMLLFRM       001A 02
NDMLLMOD       001A 01
NDMMCDAT       0019 00000004
NDMOK          001B 00000004
NDMORIG        000C
NDMPARMS       0010
NDMPARTS       002C
NDMPCVT        0033 00000004
NDMPEND        001B 00000000
NDMPMASK       0033 00000007
NDMPRI         0033
NDMPRIME       0018 20
NDMPRTY        002E
NDMPTRS        0000
NDMRCYC        001B 000000FF
NDMRFCTR       000C
NDMRTR         001B 00000008
NDMRTRYC       0022
NDMRTYPE       0023
NDMSNRTR       001A 08
NDMSPEC        0008
NDMSRCBK       0030
NDMTNRTR       001A 04
NDMTOTLN       001C
NDMTP0         0033 00000000
NDMTP1         0033 00000001
NDMTP2         0033 00000002
NDMTP3         0033 00000003
NDMUCDAT       0019 00000000
NDMVLAN        0020
NDMVSWCH       0018 08
NDMV4ARP       0036 00000001
NDMV6NA        0036 00000002
NDMXPND        001A 20
NDMXSNAP       001A 40
 
This information is based on z/VM 7.5.0 Last updated on 22 Jun 2026 at 11:14:27 EDT.
Copyright IBM Corporation, 1990, 2026