Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
NDMBK
Control Block Contents
NDMBK DSECT
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
Copyright IBM Corporation, 1990, 2011