|
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 HL pointer to VDEV
000C 12 Address 4 NIDNICBK HL pointer to NICBK
0010 16 Address 4 NIDFPNT HL pointer to NEXT NIDBK
0014 20 Address 4 NIDBPNT HL pointer to PREV NIDBK
0018 24 Bitstring 1 NIDTYPE Network Device Type
0019 25 Bitstring 1 NIDGWFCN NIC device function
00000000 NIDNOFCN 0 NIDNOFCN Unassigned
00000001 NIDCTLRD 1 NIDCTLRD CTL-0 / CTL-READ
00000002 NIDCTLWR 2 NIDCTLWR CTL-1 / CTL-WRITE
00000003 NIDDATA 3 NIDDATA 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' NIDBUSY - Busy with a CCW
.1.. .... NIDNTRDY X'40' NIDNTRDY - Device is
NOTREADY
..1. .... NIDCCW1 X'20' NIDCCW1 - This is
First/Only CCW
...1 .... NIDCCFLG X'10' NIDCCFLG - Command Chaining
in effect
.... 1... NIDNEWUC X'08' NIDNEWUC - Last CCW caused
UC
.... .1.. NIDRSEVT X'04' NIDRSEVT - Resetting-Event
Latch Notes : NIDGWSTS is
serialized by NIDSPNLK.
001D 29 Bitstring 1 NIDGWSTS Gateway Status
1... .... NIDMSPND X'80' NIDMSPND - Message pending
from GW
.1.. .... NIDRDPND X'40' NIDRDPND - Read pending
from VM
..1. .... NIDRDACT X'20' NIDRDACT - Read active from
VM
...1 .... NIDWRACT X'10' NIDWRACT - Write active
from VM
.... 1... NIDXDACT X'08' NIDXDACT - QDIO exchange is
active Notes : NIDCNTRL is
serialized by NIDSPNLK.
001E 30 Bitstring 1 NIDCNTRL Control options
1... .... NIDSUSPD X'80' NIDSUSPD - Device is
SUSPENDED
.1.. .... NIDSCHED X'40' NIDSCHED - RESUME is
Scheduled
..1. .... NIDUIPND X'20' NIDUIPND - Unsolicited Int
Pending
...1 .... NIDRESET X'10' NIDRESET - Reset in
Progress
.... 1... NIDDET X'08' NIDDET - 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' NIDTRCCW - Trace CCW Data
Buffer
.1.. .... NIDTRXFR X'40' NIDTRXFR - 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' NIDCMREJ - Command Reject
.1.. .... NIDINTRQ X'40' NIDINTRQ - Intervention
Reqd
..1. .... NIDBUSCK X'20' NIDBUSCK - Bus-Out Check
...1 .... NIDEQCHK X'10' NIDEQCHK - Equipment Check
.... 1... NIDCDC X'08' NIDCDC - Channel Data Check
.... .1.. NIDCCC X'04' NIDCCC - Channel Control
Check
.... ..1. NIDIFCC X'02' NIDIFCC - Interface Control
Check
.... ...1 NIDCANCL X'01' NIDCANCL - Cancel Function
0025 37 Bitstring 1 NIDSNS1 Sense Byte 1 latches
1... .... NIDRJRES X'80' NIDRJRES - 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 NIDIP - IP Transport (Layer 3)
00000002 NIDETHER 2 NIDETHER - Ethernet Transport
(Layer 2)
0029 41 Bitstring 1 NIDLANST LAN status flags
1... .... NIDREADY X'80' NIDREADY - LAN Connection
is READY
.1.. .... NIDBCRCV X'40' NIDBCRCV - Inbound
Broadcast enabled
..1. .... NIDBCLPB X'20' NIDBCLPB - Broadcast
Loopback enabled
.... .1.. NIDVSWCN X'04' NIDVSWCN - This is a
PHYSICAL UPLINK Port
.... ..1. NIDNICPT X'02' NIDNICPT - This is a NIC
UPLINK Port
.... ...1 NIDD2A8 X'01' NIDD2A8 - Diagnose x2A8
Managed Device
.... .11. NIDUPLNK NIDVSWCN+NIDNICPT NIDUPLNK -
VSWITCH UPLINK Port
002A 42 Bitstring 1 NIDLLFLG Link Layer flags
1... .... NIDLLVSW X'80' NIDLLVSW - This is a Link
Layer VSWITCH
002B 43 Bitstring 1 NIDIPFLG IP Layer flags
1... .... NIDPASS_ENABLED
X'80' NIDPASS_ENABLED - Passthru
support is enable
002C 44 Signed 4 NIDRFCTR Outstanding Reference Counter
Active VLAN list for this device (NIDVLANS->NIDVID array).
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 NIDVID array
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 Signed 2 NIDSEQ DIAG2A8 Sequence Counter
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)
NIDNDMCT - Count of pending messages
NIDNDMHD - Pointer to the first message (NDMBK)
NIDNDMTL - Pointer to the last message (NDMBK)
The NIDSPIN Macro found in this COPY File should be used
to acquire and release the NID Spin Lock.
0058 88 Signed 4 NIDSPNLK NID Spin Lock
005C 92 Address 4 NIDCPEBK HL pointer to SUSPEND CPEBK
0060 96 Address 4 * Reserved for Future IBM Use
Two Flags for Promiscuous Mode: NIDPRMFG records the
settings from the adapter or the user (via SET NIC) or the
admin (via TRSOURCE ENABLE). NIDPRMAC is used to provide
a check point in case the real hardware implements Prom.
Mode. If NIDPRMFG is 80 and the NICBK is authorized
NICCFLG is 02, then NIDPRMAC is 80. When the NICBK is
offline the NIDPRMAC field will be 00.
0064 100 Bitstring 1 NIDPRMFG Promiscuous Mode Flag
.... .... NIDPRMOF X'00' NIDPRMOF Promiscuous Mode
is inactive
1... .... NIDPRMON X'80' NIDPRMON Promiscuous Mode
is active
.1.. .... NIDTRACE X'40' NIDTRACE Promiscuous Mode
Trace is active
0065 101 Bitstring 1 NIDPRMAC Promiscuous Active Flag
1... .... NIDPRMAD X'80' NIDPRMAD Promiscuous Mode
on Adapter
..1. .... NIDPRMER X'20' NIDPRMER Promiscuous Mode
Error
0066 102 Signed 2 NIDNDMCT Count of pending messages
NIDNDMCT NIDGPLMT 1024 NIDGPLMT Guest Port MSG
Threshold
NIDNDMCT NIDUPLMT 4096 NIDUPLMT UPLink Port MSG
Threshold
NIDNDMCT NIDBCLMT NIDUPLMT NIDBCLMT Broadcast Storm
Threshold
0068 104 Dbl-Word 8 NIDNDMPT (0) Pending Transmision Queue
0068 104 Address 4 NIDNDMHD Pointer to first L:NDMBK
006C 108 Address 4 NIDNDMTL Pointer to last L:NDMBK
0070 112 Address 4 NIDMPCBK HL pointer to assigned MPC block
0074 116 Address 4 NIDVQSBK HL pointer to VSWITCH VQSBK
VLAN support fields
NIDFLAG1 is used for the general vlan cases (when no global
vlan id is set) and for layer 2 vlan support. When a global
vlan id is set, the NIDVLAN_GBLID flag will be on and the
logic should defer to NIDFLAG4 and NIDFlAG6 for specifics.
NIDFLAG4 is used for IPv4 global vlan traffic and conflicts.
NIDFLAG6 is used for IPv6 global vlan traffic and conflicts.
0078 120 Bitstring 1 NIDFLAG1 VLAN support flag
1... .... NIDVLAN_ENABLED
X'80' NIDVLAN_ENABLED VLAN
support is enabled EQU X'40'
Reserved EQU X'20' Reserved EQU
X'10' Reserved
.... 1... NIDVLAN_FILTER X'08' NIDVLAN_FILTER VLAN Filter
by VID set EQU X'04' Reserved EQU
X'02' Reserved EQU X'01' Reserved
0079 121 Bitstring 1 NIDFLAG4 VLAN support flag for IPv4 EQU
X'80' Reserved
.1.. .... NIDVLAN_GBLPRT X'40' NIDVLAN_GBLPRT VLAN Global
Priority NIDGVPRT
..1. .... NIDVLAN_GBLID X'20' NIDVLAN_GBLID VLAN Global
ID in NIDGVID(4 or
...1 .... NIDVLAN_CONFLICT
X'10' NIDVLAN_CONFLICT VLAN
Conflict detected EQU X'08'
Reserved
.... .1.. NIDVLAN_FORCED X'04' NIDVLAN_FORCED VLAN Forced
by System EQU X'02' Reserved
.... ...1 NIDVLAN_GBLCONFL
X'01' NIDVLAN_GBLCONFL VLAN
Conflict with Global V
007A 122 Bitstring 1 NIDFLAG6 VLAN support flag for IPv6
.1.. .... NIDVLAN_GBLPRT X'40' NIDVLAN_GBLPRT VLAN Global
Priority NIDGVPRT
..1. .... NIDVLAN_GBLID X'20' NIDVLAN_GBLID VLAN Global
ID in NIDGVID(4 or
...1 .... NIDVLAN_CONFLICT
X'10' NIDVLAN_CONFLICT VLAN
Conflict detected EQU X'08'
Reserved
.... .1.. NIDVLAN_FORCED X'04' NIDVLAN_FORCED VLAN Forced
by System EQU X'02' Reserved
.... ...1 NIDVLAN_GBLCONFL
X'01' NIDVLAN_GBLCONFL VLAN
Conflict with Global V
007B 123 Bitstring 1 NIDRTFLG Router Flags
1... .... NIDRTPRM X'80' NIDRTPRM - Primary Router
.1.. .... NIDRTSEC X'40' NIDRTSEC - Secondary Router
..1. .... NIDRTMCR X'20' NIDRTMCR - Multicast Router
007C 124 Bitstring 4 * Reserved
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.
0080 128 Signed 2 NIDGVPRT Global VLAN Priority
0082 130 Signed 2 NIDGVPRT6 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.
0084 132 Signed 2 NIDGVID Global VLAN ID IPv4
00000000 NIDVLAN_NULL 0 NIDVLAN_NULL - VLAN 0 (NULL tag
/ untagged)
00000FFE NIDVLAN_LAST 4094 NIDVLAN_LAST - Last valid
VLAN
0086 134 Signed 2 NIDGVID6 Global VLAN ID IPv6
00000000 NIDVLAN_NULL 0 NIDVLAN_NULL - VLAN 0 (NULL tag
/ untagged)
00000FFE NIDVLAN_LAST 4094 NIDVLAN_LAST - Last valid
VLAN
If NIDVLAN_GBLID==1 Set NIDGVTAG on every outbound frame.
0088 136 Signed 2 NIDGVTAG Effective VLAN tag IPv4
NIDGVTAG NIDPRMSK X'E000' NIDPRMSK VLAN Priority
Mask
NIDGVTAG NIDIDMSK X'0FFF' NIDIDMSK VLAN ID Mask
008A 138 Signed 2 NIDGVTAG6 Effective VLAN tag IPv6
IDGVTAG6 NIDPRMSK X'E000' NIDPRMSK VLAN Priority
Mask
IDGVTAG6 NIDIDMSK X'0FFF' NIDIDMSK VLAN ID Mask
008C 140 Bitstring 4 * reserved
NIDDVACT contains the TOD value for the most recent:
(a) SIGA instruction executed by the virtual host, or
(b) Successful installation of data into the virtual
input queue for this session.
0090 144 Dbl-Word 8 NIDDVACT Active Device Timestamp (TOD)
0098 152 Address 4 NIDSESBK Pointer to the SESBK
009C 156 Address 4 NIDPFPNT Front Ptr for list of Prom NIDBK
Save the most recent outbound IP/MAC address.
00A0 160 Bitstring 16 NIDIPADD Save outbound IP Address
00B0 176 Bitstring 8 NIDDEST (0) Save outbound Link ID
00B0 176 Bitstring 2 NIDDVID Outbound VLAN ID
00B2 178 Bitstring 6 NIDDVMAC Outbound MAC Address
Additional VLAN attributes.
00B8 184 Signed 4 NIDVLCTR NIDVID entry counter
00BC 188 Signed 2 NIDPVID Port VLAN ID
Additional Device status flags.
Serialization Notes on NIDDEVST:
Bits that are being set in NIDDEVST *must* be serialized
by acquiring the MAC Protect Lock (HCPNDFMP).
Serialization Notes on NIDTERM:
TEST and SET Instruction is used to indicate the QDIO
device connection is being terminated due to a security
violation.
00BE 190 Bitstring 1 NIDDEVST Device Status Flags
1... .... NIDMACPR X'80' NIDMACPR - MAC Protection
is enabled
00BF 191 Bitstring 1 NIDTERM Device Termination Pending FLAG
NIDTXCTS holds TX counters for the current Queue Writer.
00C0 192 Dbl-Word 8 NIDTXCTS (0) Transmitted data counters
00C0 192 Signed 4 NIDTXUCN TX Unicast NonRouter Bytes
00C4 196 Signed 4 NIDTXUCR TX Unicast Router Bytes
00C8 200 Signed 4 NIDTXMC TX Multicast Bytes
00CC 204 Signed 4 NIDTXBC TX Broadcast Bytes
00D0 208 Signed 4 NIDTXUPK TX Unicast NonRouter Packets
00D4 212 Signed 4 NIDTXRPK TX Unicast Router Packets
00D8 216 Signed 4 NIDTXMPK TX Multicast Packets
00DC 220 Signed 4 NIDTXBPK TX Broadcast Packets
00E0 224 Signed 4 NIDTXERR TX Bad Packets
00E4 228 Signed 4 NIDTXDSC TX Discarded Packets
00000028 NIDTXCLN (*-NIDTXCTS) Length of NIDTXCTS
area to clear
NIDRXCTS holds RX counters for the current Queue Reader.
00E8 232 Dbl-Word 8 NIDRXCTS (0) Inbound data counters
00E8 232 Signed 4 NIDRXUCN RX Unicast NonRouter Bytes
00EC 236 Signed 4 NIDRXUCR RX Unicast Router Bytes
00F0 240 Signed 4 NIDRXMC RX Multicast Bytes
00F4 244 Signed 4 NIDRXBC RX Broadcast Bytes
00F8 248 Signed 4 NIDRXUPK RX Unicast NonRouter Packets
00FC 252 Signed 4 NIDRXRPK RX Unicast Router Packets
0100 256 Signed 4 NIDRXMPK RX Multicast Packets
0104 260 Signed 4 NIDRXBPK RX Broadcast Packets
0108 264 Signed 4 NIDRXERR RX Bad Packets
010C 268 Signed 4 NIDRXDSC RX Discarded Packets
00000028 NIDRXCLN (*-NIDRXCTS) Length of NIDRXCTS
area to clear
NIDLACTS Holds Transmissions per LinkAG Interval
Notes : These counters are only used to determine the
amount of activity for a specific port in order to
balance a network load across a LinkAG port group.
Therefore, for performance reasons there is no
serialization for these counters.
0110 272 Dbl-Word 8 NIDLACTS (0) Load Balance Interval Counters
0110 272 Signed 4 NIDLAPRE Previous interval Datagrams
0114 276 Signed 4 NIDLACUR Current interval datagrams
0118 280 Signed 2 NIDDVNUM Device number of OSA
011A 282 Bitstring 6 NIDDCMAC Current device MAC address
NIDRDTOD contains the TOD value for the most recent
stacked call to the input queue reader (HCPIQRRD).
0120 288 Dbl-Word 8 NIDRDTOD Reader Activated Timestamp (TOD)
0128 296 Dbl-Word 8 NIDWRTOD Outbound Process TimeStamp (TOD)
NIDWRTOD contains the TOD value
for the start of the most recent
processing loop for outbound
datagrams from this device
(HCPVNSDG).
NDMBK Receiver Handler
The CP routine to process NDMBKs it receives from a
virtual switch data transfer. The appropriate NDMBK
handler is assigned when a NIDBK is created.
0130 304 Address 4 NIDRECV Incoming Datagram Handler
0134 308 Bitstring 1 NIDCLASS Port Class
00000000 NIDGUEST 0 NIDGUEST Guest Port (real or
simulated)
00000004 NIDPHYUP 4 NIDPHYUP Physical UPLINK Port
00000008 NIDBRIDG 8 NIDBRIDG HiperSockets Bridge
Port
0135 309 Bitstring 1 * (3) Reserved for future IBM use
0138 312 Dbl-Word 8 * (3) Reserved for future IBM use
End of NIDBK structure.
00000150 NID$END * End of NIDBK
00000150 NIDBKLN *-NIDBK Length of NICBK in bytes
0000002A NIDBKSZ (*-NIDBK+7)/8 Size of NICBK in
doublewords
NIDVID - Define the Session VID array format.
The NIDVID defines one element in the 4K VLAN Array
(one entry for each VLAN number 0-4095). Note that
VLAN(0) and VLAN(4095) are not valid VLAN groups.
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NIDVID Network Interface Device Block.
0000 0 Bitstring 1 NIDVIDX Status of VID in NIDVID array
.... ...1 NIDVID_ENABLED X'01' NIDVID_ENABLED Enabled on
this session
.... ..1. NIDVID_HOSTCTL X'02' NIDVID_HOSTCTL Enabled by
virtual host
.... .1.. NIDVID_SESSION X'04' NIDVID_SESSION Active on
this data session
.... 1... NIDVID_NETWORK X'08' NIDVID_NETWORK Active on
this network
...1 .... NIDVID_LG3DP X'10' NIDVID_LG3DP Used for
resolving CHSC x'3D' with
HiperSockets Logical Guests
0NIDVIDX NIDVIDLN 4096 NIDVIDLN Length of NIDVID
array (4K)
0NIDVIDX NIDVIDSZ NIDVIDLN/8 NIDVIDSZ Size of
NIDVID array noformat ** LOCAL
NIDSPIN MACRO MACRO NAME -
NIDSPIN Descriptive Name -
Acquire or Release the NIDSPIN
Lock Invocation - NIDSPIN
OBTAIN|RELEASE, <,NIDBK=prefix>,
<,DEFER=Rx> Input - OBTAIN
acquire or lock the NID Spin Lock
for the specified NIDBK. RELEASE
release or unlock the NID Spin
Lock for the specified NIDBK.
NIDBK= an optional prefix for
NIDBK references. The prefix is
necessary if a labelled USING is
in effect for the NIDBK. If (for
example) SRC HCPUSING NIDBK,R5 is
in effect, use the form: NIDSPIN
NIDBK=SRC to generate
SRC.NIDSPNLK in this code. DEFER=
an optional parameter which
specifies the register to store
the number attempts times an
OBTAIN had to spin on the lock
before it was obtained. Register
value from R0 up to and including
R13 may be used. Output - See
Exit Normal, Exit Error Exit
Normal - The NID SPIN Lock for
the specified NIDBK is either
obtained or release. Registers
R14 and R15 are Destroyed Exit
Error - The given operand is
syntactically invalid, or it
appears in the list of illegal
values (if specified), or the
operand was omitted and no
default was provided by the
caller. A suitable ** END OF
SPECIFICATIONS
.********************************
***************************** .*
End of NIDSPIN Macro Definition *
.********************************
*****************************
enoformat
| |