| |
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
| |