NDMBKControl Block Contents
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.
NDMBK Control Block ContentNDMBK 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 Address 4 NDMFPNT Pointer to Next NDMBK
0004 4 Address 4 NDMBPNT Pointer to 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' - Storage was allocated
.1.. .... NDMFRAME X'40' - Allocated a 4K frame
..1. .... NDMPRIME X'20' - This is a PRIMARY NDMBK
...1 .... NDMCLONE X'10' - This is a CLONE NDMBK
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 - Unicast data
00000004 NDMMCDAT 4 - Multicast data
00000008 NDMBCDAT 8 - Broadcast data
Data Transfer flags (valid for any fragment).
001A 26 Bitstring 1 NDMFLAGS Message Flags
1... .... NDMDVHDR X'80' - NDMBK includes Device
Header
.1.. .... NDMXDATA X'40' - NDMBK includes XFER Data
..1. .... NDMHOLD X'20' - NDMBK is on Hold
...1 .... NDMFLOOD X'10' - NDMBK is to Flood the
segment
.... 1... NDMSNRTR X'08' - NDMBK Source is NetRouter
.... .1.. NDMTNRTR X'04' - NDMBK Target is NetRouter
.... ..1. NDMLLFRM X'02' - NDMBK is a Link Layer
frame
.... ...1 NDMLLMOD X'01' - NDMBK is modified
(redirected)
Data Transfer disposition (valid for first fragment).
001B 27 Bitstring 1 NDMDISP Message Disposition
00000000 NDMOK 0 - Delivered to target
00000004 NDMRTR 4 - Delivered to a router
00000008 NDMDSC 8 - Discarded
0000000C NDMERR 12 - 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 Pointer to NDMBK fragment chain
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)
0034 52 Bitstring 4 * 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 Pointer to 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 Pointer to 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 |///////////////////////////|
* +---------------------------+---------------------------+
*
*** 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 ReferenceSymbol 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 NDMHDR2 0018 00000019 NDMHOLD 001A 20 NDMLEN2 0034 0000001F NDMLLFRM 001A 02 NDMLLMOD 001A 01 NDMMCDAT 0019 00000004 NDMOK 001B 00000000 NDMORIG 000C NDMPARMS 0010 NDMPARTS 002C NDMPRIME 0018 20 NDMPRTY 002E NDMRFCTR 000C NDMRTR 001B 00000004 NDMSNRTR 001A 08 NDMSPEC 0008 NDMSRCBK 0030 NDMTNRTR 001A 04 NDMTOTLN 001C NDMUCDAT 0019 00000000 NDMVLAN 0020 NDMXDATA 001A 40 Copyright IBM Corporation, 1990, 2004 |