Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
NIDBK
Control Block Contents
NIDBK DSECT
Cross Reference (Contains links to field and bit definitions)
NIDBK Prolog
Name : HCPNIDBK Description: Network Interface Device Block. DSECT : NIDBK Function : The NIDBK structure represents a Network Interface Device. One NIDBK exists for each virtual device that is part of a simulated Network Interface Card (NIC). The NIDBK is an extension of the VDEV for a fully-simulated OSA device (VDEVCLAS=CLASSPEC and VDEVTYPE=TYPOSA). Located by : VDEVNID = VDEV pointer to the NIDBK for this device. NICNIDHD = NICBK pointer to base device NIDBK for this adapter (NIC). Every device associated with this adapter is chained from the base NIDBK by NIDFPNT/NIDBPNT links. MPCRDCTL = MPCBK pointer to NIDBK for the READ-CTL device. MPCWRCTL = MPCBK pointer to NIDBK for the WRITE-CTL device. DDVNIDBK = DDVBK pointer to NIDBK for a DATA device. IPNLINK = IPNBK pointer to NIDBK for the device which owns the IP Address. VQSNIDBK = VQSBK pointer to NIDBK associated with a VSWITCH (real) device. CREATED BY : CP DEFINE command processing (module HCPVDB) DELETED BY : CP DETACH command processing (module HCPVDB) REFERENCES : HCPDVTYP COPY - Specific device types HCPEQUAT COPY - General CP equates SERIALIZED : NICBK Lock (NICLKWRD) must be held EXCLUSIVE to create or destroy the NIDBK. Most fields within the NIDBK are serialized by the VDEV Lock (VDEVLOCK) or by I/O protocol. Exceptions are: NIDSTACK - Updated using CS logic. NOTES : None. General Note : None
NIDBK Control Block Content
NIDBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure NIDBK Network Interface Device Block. 0000 0 Character 8 NIDDESC NID Description (e.g. IQDC) 0008 8 Address 4 NIDVDEV Pointer to VDEV 000C 12 Address 4 NIDNICBK Pointer to NICBK 0010 16 Address 4 NIDFPNT Pointer to NEXT NIDBK 0014 20 Address 4 NIDBPNT Pointer to PREV NIDBK 0018 24 Bitstring 1 NIDTYPE Network Device Type 0019 25 Bitstring 1 NIDGWFCN NIC device function 00000000 NIDNOFCN 0 Unassigned 00000001 NIDCTLRD 1 CTL-0 / CTL-READ 00000002 NIDCTLWR 2 CTL-1 / CTL-WRITE 00000003 NIDDATA 3 DATA device 001A 26 Signed 2 NIDGWDEV (0) NIC device index (0-xxxx) 001A 26 Bitstring 1 NIDUA0 Unit Address (byte 0) 001B 27 Bitstring 1 NIDUA Unit Address 001C 28 Bitstring 4 NIDSTSWD (0) Status Word (summary for trace) 001C 28 Bitstring 1 NIDLATCH Device Latches 1... .... NIDBUSY X'80' - Busy with a CCW .1.. .... NIDNTRDY X'40' - Device is NOTREADY ..1. .... NIDCCW1 X'20' - This is First/Only CCW ...1 .... NIDCCFLG X'10' - Command Chaining in effect .... 1... NIDNEWUC X'08' - Last CCW caused UC .... .1.. NIDRSEVT X'04' - Resetting-Event Latch Notes : NIDGWSTS is serialized by NIDSPNLK. 001D 29 Bitstring 1 NIDGWSTS Gateway Status 1... .... NIDMSPND X'80' - Message pending from GW .1.. .... NIDRDPND X'40' - Read pending from VM ..1. .... NIDRDACT X'20' - Read active from VM ...1 .... NIDWRACT X'10' - Write active from VM .... 1... NIDXDACT X'08' - QDIO exchange is active Notes : NIDCNTRL is serialized by NIDSPNLK. 001E 30 Bitstring 1 NIDCNTRL Control options 1... .... NIDSUSPD X'80' - Device is SUSPENDED .1.. .... NIDSCHED X'40' - RESUME is Scheduled ..1. .... NIDUIPND X'20' - Unsolicited Int Pending ...1 .... NIDRESET X'10' - Reset in Progress .... 1... NIDDET X'08' - DETACH in Progress 001F 31 Bitstring 1 NIDUISTS Pending Unsolicited Status 0020 32 Bitstring 1 NIDCMD Current CCW opcode 0021 33 Bitstring 1 NIDDVPST Posted Unit Status 0022 34 Bitstring 1 NIDDVSTS Latest Unit Status 0023 35 Bitstring 1 NIDTRFLG Extended Trace Flags 1... .... NIDTRCCW X'80' - Trace CCW Data Buffer .1.. .... NIDTRXFR X'40' - Trace Data Transfers 0024 36 Bitstring 2 NIDSNS (0) Sense Data registers 0024 36 Bitstring 1 NIDSNS0 Sense Byte 0 latches 1... .... NIDCMREJ X'80' - Command Reject .1.. .... NIDINTRQ X'40' - Intervention Reqd ..1. .... NIDBUSCK X'20' - Bus-Out Check ...1 .... NIDEQCHK X'10' - Equipment Check .... 1... NIDCDC X'08' - Channel Data Check .... .1.. NIDCCC X'04' - Channel Control Check .... ..1. NIDIFCC X'02' - Interface Control Check .... ...1 NIDCANCL X'01' - Cancel Function 0025 37 Bitstring 1 NIDSNS1 Sense Byte 1 latches 1... .... NIDRJRES X'80' - Rejected by Resetting-Event 0026 38 Bitstring 1 NIDPVCMD Previous CCW opcode 0027 39 Bitstring 1 NIDPVSTS Previous CCW status 0028 40 Bitstring 1 NIDTRANP LAN Transport mode 00000001 NIDIP 1 - IP Transport (Layer 3) 00000002 NIDETHER 2 - Ethernet Transport (Layer 2) 0029 41 Bitstring 1 NIDLANST LAN status flags 1... .... NIDREADY X'80' - LAN Connection is READY .1.. .... NIDBCRCV X'40' - Inbound Broadcast enabled ..1. .... NIDBCLPB X'20' - Broadcast Loopback enabled ...1 .... NIDLLTFN X'10' - Link Layer Transport enabled .... 1... NIDARPFN X'08' - ARP Assist functions enabled .... .1.. NIDVSWCN X'04' - This is a VSWITCH connection .... ..1. NIDBCRDY X'02' - Broadcast is Active 002A 42 Bitstring 1 NIDLLFLG Link Layer flags 1... .... NIDLLVSW X'80' - This is a Link Layer VSWITCH 002B 43 Bitstring 1 NIDIPFLG IP Layer flags 1... .... NIDPASS_ENABLED X'80' - Passthru support is enabled 002C 44 Signed 4 NIDRFCTR Outstanding Reference Counter Active VLAN list for this device (NIDVLANS->VLABK). VLAN 0 is active for every device, so VLAN 0 does NOT appear in this list. This list includes an entry for each active VLAN group (except 0). 0030 48 Address 4 NIDVLANS Pointer to VLABK (VLAN list) Active MAC list for this device (NIDLLTBL->LLNBK chain). This list includes an entry for each active MAC address. This includes unicast, multicast, and broadcast MAC addresses, sorted by MAC address. 0034 52 Address 4 NIDLLTBL Pointer to Link Layer table Active IP Address Table (unicast) for this device. IP Table entries (IPNBK) are sorted by IP Address. IPv4 addresses are right-justified in 16-byte IPNADDR. 0038 56 Address 4 NIDIPTBL Pointer to IPNBK list 003C 60 Signed 2 NIDIPCTR Number of IP Address entries 003E 62 Signed 2 NIDLLCTR Count of Link Layer entries Active Multicast Address Table for this device. IP Table entries (IPNBK) are sorted by IP Address. IPv4 addresses are right-justified in 16-byte IPNADDR. 0040 64 Address 4 NIDMCTBL Pointer to IPNBK list 0044 68 Signed 2 NIDMCCTR Number of IP Address entries 0046 70 Signed 2 NIDVMCTR Count of Link Layer VMAC entries Router entries registered for this device. NIDRXTBL is the anchor for a circular list of router entries (IPNBK) chained by IPNFPNT/IPNBPNT. Each IPNBK represents an eligible router for a specific VLAN, IP version, and type (Primary, Secondary, or Multicast router). 0048 72 Address 4 NIDRXTBL Pointer to IPNBK(Router) list 004C 76 Signed 2 NIDRXCTR Count of Router entries 004E 78 Bitstring 2 * Reserved LAN MAC Table unicast/multicast entries for this device. Each LLNBK chained from NIDUCLLN represents a unicast entry in the LAN MAC Table at LANIXTBL. Each LLNBK chained from NIDMCLLN represents a multicast entry in the LAN MAC Table at LANIXTBL. 0050 80 Address 4 NIDUCLLN Pointer to Unicast LLNBK list 0054 84 Address 4 NIDMCLLN Pointer to Multicast LLNBK list The NID Spin Lock (NIDSPNLK) serializes the following fields: NIDGWSTS - Gateway status flag NIDCNTRL - Device control flag NIDCPEBK - Pointer to the SUSPEND CPEBK NIDPNDFN - Function being suspended (see NIDGWFCN) NIDNDMHD - Pointer to the first message (NDMBK) NIDNDMTL - Pointer to the last message (NDMBK) 0058 88 Signed 4 NIDSPNLK NID Spin Lock 005C 92 Address 4 NIDCPEBK Pointer to SUSPEND CPEBK 0060 96 Address 4 NIDSTACK Pointer to Stacked NDMBK work 0064 100 Bitstring 2 * reserved 0066 102 Signed 2 NIDNDMCT Count of pending messages 0068 104 Address 4 NIDNDMHD Pointer to first NDMBK 006C 108 Address 4 NIDNDMTL Pointer to last NDMBK 0070 112 Address 4 NIDMPCBK Pointer to assigned MPC block 0074 116 Address 4 NIDVQSBK Pointer to VSWITCH VQSBK VLAN support fields 0078 120 Bitstring 1 NIDFLAG1 VLAN support flag 1... .... NIDVLAN_ENABLED X'80' VLAN support is enabled .1.. .... NIDVLAN_GBLPRT X'40' VLAN Global Priority in NIDGVPRT ..1. .... NIDVLAN_GBLID X'20' VLAN Global ID in NIDGVID ...1 .... NIDVLAN_CONFLICT X'10' VLAN Conflict detected .... 1... NIDVLAN_FILTER X'08' VLAN Filter by VID set .... .1.. NIDVLAN_FORCED X'04' VLAN Forced by System EQU X'02' Reserved .... ...1 NIDVLAN_GBLCONFL X'01' VLAN Conflict with Global VLAN 0079 121 Bitstring 1 NIDRTFLG Router Flags 1... .... NIDRTPRM X'80' - Primary Router .1.. .... NIDRTSEC X'40' - Secondary Router ..1. .... NIDRTMCR X'20' - Multicast Router Current IEEE VLAN Priority. When NIDVLAN_GBLPRT==1 it means NIDGVPRT has been set by the device owner (Global Priority). NIDGVPRT is merged into NIDGVTAG. 007A 122 Signed 2 NIDGVPRT Global VLAN Priority Current IEEE VLAN ID. When NIDVLAN_GBLID==1 it means NIDGVID has been set by the device owner (Global VLAN ID). When NIDVLAN_FORCED==1 it means NIDGVID has been set by the system (which may override the owner). NIDGVID is merged into NIDGVTAG. When NIDGVID is NOT set by owner or system, it represents the set of VLAN groups allowed for this interface: NIDGVID | Filter | Frames that can be delivered ----------|---------|******************************------- 0000 | OFF | Untagged and NULL tagged frames 0001-0FFF | EXACT | Untagged and Matching VLAN ID frames 1FFF | COMPLEX | Untagged and tagged frames from a | | VLAN ID in the NICVLANS list 007C 124 Signed 2 NIDGVID Global VLAN ID 00000000 NIDVLAN_NULL X'0000' - VLAN 0 (NULL tag / untagged) 00001FFF NIDVLAN_COMP X'1FFF' - VLAN list (see NICVLANS) If NIDVLAN_GBLID==1 Set NIDGVTAG on every outbound frame. 007E 126 Signed 2 NIDGVTAG Effective VLAN tag Masks defined for NIDGVTAG - 0000E000 NIDPRMSK X'E000' VLAN Priority Mask 00000FFF NIDIDMSK X'0FFF' VLAN ID Mask 0080 128 Dbl-Word 8 NIDDVACT Active Device Timestamp (TOD) 0088 136 Address 4 NIDSESBK Pointer to the SESBK 008C 140 Bitstring 4 * Reserved Save the most recent outbound IP/MAC address. 0090 144 Bitstring 16 NIDIPADD Save outbound IP Address 00A0 160 Bitstring 6 NIDMACAD Save outbound MAC Address 00A6 166 Signed 2 NIDPVID Port VLAN ID NIDTXCTS holds TX counters for the current Queue Writer. 00A8 168 Dbl-Word 8 NIDTXCTS (0) Transmitted data counters 00A8 168 Signed 4 NIDTXUCN TX Unicast NonRouter Bytes 00AC 172 Signed 4 NIDTXUCR TX Unicast Router Bytes 00B0 176 Signed 4 NIDTXMC TX Multicast Bytes 00B4 180 Signed 4 NIDTXBC TX Broadcast Bytes 00B8 184 Signed 4 NIDTXUPK TX Unicast NonRouter Packets 00BC 188 Signed 4 NIDTXRPK TX Unicast Router Packets 00C0 192 Signed 4 NIDTXMPK TX Multicast Packets 00C4 196 Signed 4 NIDTXBPK TX Broadcast Packets 00C8 200 Signed 4 NIDTXERR TX Bad Packets 00CC 204 Signed 4 NIDTXDSC TX Discarded Packets 00000028 NIDTXCLN (*-NIDTXCTS) Length of NIDTXCTS area to clear NIDRXCTS holds RX counters for the current Queue Reader. 00D0 208 Dbl-Word 8 NIDRXCTS (0) Inbound data counters 00D0 208 Signed 4 NIDRXUCN RX Unicast NonRouter Bytes 00D4 212 Signed 4 NIDRXUCR RX Unicast Router Bytes 00D8 216 Signed 4 NIDRXMC RX Multicast Bytes 00DC 220 Signed 4 NIDRXBC RX Broadcast Bytes 00E0 224 Signed 4 NIDRXUPK RX Unicast NonRouter Packets 00E4 228 Signed 4 NIDRXRPK RX Unicast Router Packets 00E8 232 Signed 4 NIDRXMPK RX Multicast Packets 00EC 236 Signed 4 NIDRXBPK RX Broadcast Packets 00F0 240 Signed 4 NIDRXERR RX Bad Packets 00F4 244 Signed 4 NIDRXDSC RX Discarded Packets 00000028 NIDRXCLN (*-NIDRXCTS) Length of NIDRXCTS area to clear End of NIDBK structure. 000000F8 NID$END * End of NIDBK 000000F8 NIDBKLN *-NIDBK Length of NICBK in bytes 0000001F NIDBKSZ (*-NIDBK+7)/8 Size of NICBK in doublewords
NIDBK Storage Layout
*** NIDBK - Network Interface Device Block. * * +-------------------------------------------------------+ * 0 | NIDDESC | * +---------------------------+---------------------------+ * 8 | NIDVDEV | NIDNICBK | * +---------------------------+---------------------------+ * 10 | NIDFPNT | NIDBPNT | * +------+------+------+------+------+------+------+------+ * 18 |:TYPE |:GWFCN|NIDUA0|NIDUA |:LATCH|:GWSTS|:CNTRL|:UISTS| * +------+------+------+------+------+------+------+------+ * 20 |NIDCMD|:DVPST|:DVSTS|:TRFLG|:SNS0 |:SNS1 |:PVCMD|:PVSTS| * +------+------+------+------+------+------+------+------+ * 28 |:TRANP|:LANST|:LLFLG|:IPFLG| NIDRFCTR | * +------+------+------+------+---------------------------+ * 30 | NIDVLANS | NIDLLTBL | * +---------------------------+-------------+-------------+ * 38 | NIDIPTBL | NIDIPCTR | NIDLLCTR | * +---------------------------+-------------+-------------+ * 40 | NIDMCTBL | NIDMCCTR | NIDVMCTR | * +---------------------------+-------------+-------------+ * 48 | NIDRXTBL | NIDRXCTR |/////////////| * +---------------------------+-------------+-------------+ * 50 | NIDUCLLN | NIDMCLLN | * +---------------------------+---------------------------+ * 58 | NIDSPNLK | NIDCPEBK | * +---------------------------+-------------+-------------+ * 60 | NIDSTACK |/////////////| NIDNDMCT | * +---------------------------+-------------+-------------+ * 68 | NIDNDMHD | NIDNDMTL | * +---------------------------+---------------------------+ * 70 | NIDMPCBK | NIDVQSBK | * +------+------+-------------+-------------+-------------+ * 78 |:FLAG1|:RTFLG| NIDGVPRT | NIDGVID | NIDGVTAG | * +------+------+-------------+-------------+-------------+ * 80 | NIDDVACT | * +---------------------------+---------------------------+ * 88 | NIDSESBK |///////////////////////////| * +---------------------------+---------------------------+ * 90 | NIDIPADD | * | | * +-----------------------------------------+-------------+ * A0 | NIDMACAD | NIDPVID | * +---------------------------+-------------+-------------+ * A8 | NIDTXUCN | NIDTXUCR | * +---------------------------+---------------------------+ * B0 | NIDTXMC | NIDTXBC | * +---------------------------+---------------------------+ * B8 | NIDTXUPK | NIDTXRPK | * +---------------------------+---------------------------+ * C0 | NIDTXMPK | NIDTXBPK | * +---------------------------+---------------------------+ * C8 | NIDTXERR | NIDTXDSC | * +---------------------------+---------------------------+ * D0 | NIDRXUCN | NIDRXUCR | * +---------------------------+---------------------------+ * D8 | NIDRXMC | NIDRXBC | * +---------------------------+---------------------------+ * E0 | NIDRXUPK | NIDRXRPK | * +---------------------------+---------------------------+ * E8 | NIDRXMPK | NIDRXBPK | * +---------------------------+---------------------------+ * F0 | NIDRXERR | NIDRXDSC | * +---------------------------+---------------------------+ * F8 * *** NIDBK - Network Interface Device Block.
NIDBK Cross Reference
Symbol Dspl Value -------------- ---- ----- NID$END 00F4 000000F8 NIDARPFN 0029 08 NIDBCLPB 0029 20 NIDBCRCV 0029 40 NIDBCRDY 0029 02 NIDBKLN 00F4 000000F8 NIDBKSZ 00F4 0000001F NIDBPNT 0014 NIDBUSCK 0024 20 NIDBUSY 001C 80 NIDCANCL 0024 01 NIDCCC 0024 04 NIDCCFLG 001C 10 NIDCCW1 001C 20 NIDCDC 0024 08 NIDCMD 0020 NIDCMREJ 0024 80 NIDCNTRL 001E NIDCPEBK 005C NIDCTLRD 0019 00000001 NIDCTLWR 0019 00000002 NIDDATA 0019 00000003 NIDDESC 0000 NIDDET 001E 08 NIDDVACT 0080 NIDDVPST 0021 NIDDVSTS 0022 NIDEQCHK 0024 10 NIDETHER 0028 00000002 NIDFLAG1 0078 NIDFPNT 0010 NIDGVID 007C NIDGVPRT 007A NIDGVTAG 007E NIDGWDEV 001A NIDGWFCN 0019 NIDGWSTS 001D NIDIDMSK 007E 00000FFF NIDIFCC 0024 02 NIDINTRQ 0024 40 NIDIP 0028 00000001 NIDIPADD 0090 NIDIPCTR 003C NIDIPFLG 002B NIDIPTBL 0038 NIDLANST 0029 NIDLATCH 001C NIDLLCTR 003E NIDLLFLG 002A NIDLLTBL 0034 NIDLLTFN 0029 10 NIDLLVSW 002A 80 NIDMACAD 00A0 NIDMCCTR 0044 NIDMCLLN 0054 NIDMCTBL 0040 NIDMPCBK 0070 NIDMSPND 001D 80 NIDNDMCT 0066 NIDNDMHD 0068 NIDNDMTL 006C NIDNEWUC 001C 08 NIDNICBK 000C NIDNOFCN 0019 00000000 NIDNTRDY 001C 40 NIDPASS_ENABLED 002B 80 NIDPRMSK 007E 0000E000 NIDPVCMD 0026 NIDPVID 00A6 NIDPVSTS 0027 NIDRDACT 001D 20 NIDRDPND 001D 40 NIDREADY 0029 80 NIDRESET 001E 10 NIDRFCTR 002C NIDRJRES 0025 80 NIDRSEVT 001C 04 NIDRTFLG 0079 NIDRTMCR 0079 20 NIDRTPRM 0079 80 NIDRTSEC 0079 40 NIDRXBC 00DC NIDRXBPK 00EC NIDRXCLN 00F4 00000028 NIDRXCTR 004C NIDRXCTS 00D0 NIDRXDSC 00F4 NIDRXERR 00F0 NIDRXMC 00D8 NIDRXMPK 00E8 NIDRXRPK 00E4 NIDRXTBL 0048 NIDRXUCN 00D0 NIDRXUCR 00D4 NIDRXUPK 00E0 NIDSCHED 001E 40 NIDSESBK 0088 NIDSNS 0024 NIDSNS0 0024 NIDSNS1 0025 NIDSPNLK 0058 NIDSTACK 0060 NIDSTSWD 001C NIDSUSPD 001E 80 NIDTRANP 0028 NIDTRCCW 0023 80 NIDTRFLG 0023 NIDTRXFR 0023 40 NIDTXBC 00B4 NIDTXBPK 00C4 NIDTXCLN 00CC 00000028 NIDTXCTS 00A8 NIDTXDSC 00CC NIDTXERR 00C8 NIDTXMC 00B0 NIDTXMPK 00C0 NIDTXRPK 00BC NIDTXUCN 00A8 NIDTXUCR 00AC NIDTXUPK 00B8 NIDTYPE 0018 NIDUA 001B NIDUA0 001A NIDUCLLN 0050 NIDUIPND 001E 20 NIDUISTS 001F NIDVDEV 0008 NIDVLAN_COMP 007C 00001FFF NIDVLAN_CONFLICT 0078 10 NIDVLAN_ENABLED 0078 80 NIDVLAN_FILTER 0078 08 NIDVLAN_FORCED 0078 04 NIDVLAN_GBLCONFL 0078 01 NIDVLAN_GBLID 0078 20 NIDVLAN_GBLPRT 0078 40 NIDVLAN_NULL 007C 00000000 NIDVLANS 0030 NIDVMCTR 0046 NIDVQSBK 0074 NIDVSWCN 0029 04 NIDWRACT 001D 10 NIDXDACT 001D 08
Copyright IBM Corporation, 1990, 2004