|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
IPNBK
Control Block Contents
IPNBK DSECT
Cross Reference (Contains links to field and bit definitions)
IPNBK Prolog
NAME : HCPIPNBK
DESCRIPTION: IP Node block
DSECT : IPNBK
FUNCTION :
The IPNBK represents an IP address which is associated
with a specific network device (represented by a NIDBK).
The IPNBK may be created by an explicit action (e.g.
by a SETIP function on a specific device to register
the IP Address on the LAN), or it may be created by
the LAN simulation to associate an IP Address (or an
IP function) with a specific device.
LOCATED BY -
LANBK pointers
The LANBK uses IPNXFPNT and IPNXBPNT to maintain
lists of IP Addresses registered on the LAN.
These IPNBK lists function as a common ARP table
for the LAN segment. These lists are used to
locate targets during data transfer.
NIDBK pointers
The NIDBK uses IPNFPNT and IPNBPNT to maintain lists
of IP Addresses registered for this device. These
lists are only used to maintain the LAN tables (not
to locate targets during data transfer).
CREATED BY :
IP Address functions in module HCPIPN.
DELETED BY :
IP Address functions in module HCPIPN.
Comments : - This block is mapped in the system execution space, and
may be backed anywere in storage.
- This block is not known by hardware.
IPNBK Control Block Content
IPNBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure IPNBK IP Node block
LAN Table management fields
0000 0 Character 1 IPNTYPE IPNBK Type
000000E4 IPNTYPUC C'U' IPNTYPUC Unicast IPNBK
000000D4 IPNTYPMC C'M' IPNTYPMC Multicast IPNBK
000000C2 IPNTYPBC C'B' IPNTYPBC Broadcast IPNBK
000000D9 IPNTYPRX C'R' IPNTYPRX Router IPNBK
0001 1 Bitstring 1 IPNPROTO Protocol (see IPAIPVER)
00000004 IPNIPV4 4 IPNIPV4 IPv4 Protocol
00000006 IPNIPV6 6 IPNIPV6 IPv6 Protocol
0002 2 Bitstring 1 IPNFLAGS IPNBK flags
1... .... IPNDEACT X'80' IPNDEACT DEACTIVATED from
LAN IP Table
.1.. .... IPNLOCAL X'40' IPNLOCAL LOCAL to this LAN
Segment
..1. .... IPNREMOT X'20' IPNREMOT Remote (soft) IP
Entry
...1 .... IPNPROXY X'10' IPNPROXY Set by ARP Add
Address Entry
.... 1... IPNINUSE X'08' IPNINUSE Indicate recent
activity
.... .1.. IPNPERM X'04' IPNPERM Permanent
(SETIP/SETIPM) entry
.... ..1. IPNOWNER X'02' IPNOWNER Owner of VSWITCH
IP address
0003 3 Bitstring 1 IPNFLAG1 Additional flags
1... .... IPNARP X'80' IPNARP Entry created by ARP
response
Pointer to associated data device.
0004 4 Address 4 IPNLINK Pointer to NIDBK (data device)
Linkage for Device IP Table chain.
0008 8 Address 4 IPNFPNT Host logical address of next
Device IPNBK
000C 12 Address 4 IPNBPNT Host logical address of previous
Device IPNBK
Linkage for LANBK IP Table chain.
0010 16 Address 4 IPNXFPNT Host logical address of next LAN
IPNBK
0014 20 Address 4 IPNXBPNT Host logical address of previous
LAN IPNBK
Timestamp when this IP Address was installed.
0018 24 Bitstring 8 IPNTOD TOD Clock created/refreshed
Usage counter.
Count references to this entry for comparison against
other entries in the LAN table. Entries with higher
usage counts should be moved toward the front of the
list.
0020 32 Signed 4 IPNUSAGE Count references to this entry
Operating System ID may be used to validate IP Takeover.
0024 36 Bitstring 2 IPN_OSID OS ID (from SETIP interface)
SETIP netmask field is converted to a bit count here.
0026 38 Bitstring 2 IPNMSKNN Netmask bits (from SETIP)
IPNARPFL represents SETIP Flag byte 3 (see HCPIPABK).
Notes : IPABK defines IPAIPARP as 0 but the IP Assist
document indicates x'01'. In practice, this is
the default so it does not matter. I am using
a value of x'01' because it seems more consistent
with the general structure of the IP Assists.
0028 40 Bitstring 1 IPNARPFL SETIP ARP flag byte 3
.... ...1 IPNNARP X'01' IPNNARP DO NOT ARP this req
(takeover)
ArpIpTakeOver
CP: IPAIPRPL
TCPIP: ArpIpTakeOver. Assign IP address to this link.
OSA-E: Take over this IP address even if it is in
use on this adapter.
No IP address in use on adapter (IPAIPFND X'E005')
error is given.
No gratuitous arp is done for the address.
CP Sim: "On this adapter" applies to HiperSockets
only. If the OSID does not match, IPAINUSE
X'E00A', is returned.
With VM63608, ArpIpTakeOver is always allowed
for QDIO.
ArpAddUnconditional
CP: IPAIPNRP
TCPIP: ArpAddUnconditional. Add ARP entry even
if in use on the LAN
OSA-E: Does not do grat ARP, so SETIP request
does not fail with IPAINUSE X'E00A' if
address is in use on the LAN.
.... ..1. IPNNFAIL X'02' DO NOT FAIL a matching ARP
req
0029 41 Bitstring 7 * Reserved
ARP Cache Table would contain these fields.
0030 48 Bitstring 1 IPNPATYP ARP Physical Address Type
00000001 IPNPALAN 1 IPNPALAN - LAN address type ==
MAC
0031 49 Bitstring 1 IPNIATYP ARP Internet Address Type
00000001 IPNIAV4 1 IPNIAV4 - ARP IPv4 address type
00000002 IPNIAV6 2 IPNIAV6 - ARP IPv6 address type
0032 50 Bitstring 6 IPNMACAD MAC Address
0038 56 Bitstring 16 IPNADDR (0) IP Address (in ARP cache)
0038 56 Bitstring 16 IPNIPAV6 (0) IPv6 address (128-bits)
0038 56 Bitstring 12 IPNIPXV4 IPv4 pad bytes (null)
0044 68 Bitstring 4 IPNIPAV4 IPv4 address (32-bits)
0038 56 Bitstring 4 IPNRXID (0) Router ID (VLAN||ver||type)
0038 56 Signed 2 IPNRXLAN Router VLAN ID
003A 58 Bitstring 1 IPNRXVER Router IP Version (IPv4/IPv6)
003B 59 Bitstring 1 IPNRXTYP Router Type (unicast/multicast)
00000001 IPNRXPRI 1 IPNRXPRI - Primary router
00000002 IPNRXSEC 2 IPNRXSEC - Secondary router
00000003 IPNRXMCR 3 IPNRXMCR - Multicast router
003C 60 Bitstring 1 IPNRXFLG - Global router flag
.... .... IPNRXVLR 0 IPNRXVLR - vlan router
.... ...1 IPNRXGLR 1 IPNRXGLR - global router
003D 61 Bitstring 11 * Reserved
End of the IPNBK.
0048 72 Dbl-Word 8 IPN$END (0) End of the IPNBK structure
00000048 IPNBKLN *-IPNBK Length of IPNBK in bytes
00000009 IPNBKSZ (*-IPNBK+7)/8 Size of IPNBK in
doublewords
IP Multicast Address (IPM) indicator.
When the IP Address byte 0 is in the range of 224-239
(x'E0'-x'EF') it designates an IP Multicast address.
To determine if an IP Address is an IPM Address:
(1) TM byte0,IPNMCON; If cc<3 it is NOT an IPM
(2) TM byte0,IPNMCOFF; If cc>0 it is NOT an IPM
The address must pass BOTH tests to be accepted as
a Multicast IP Address.
1111 .... IPNMCMSK X'F0' IPM Byte 0 - Significant
bits
111. .... IPNMCON X'E0' IPM Byte 0 - These bits are
ON
...1 .... IPNMCOFF X'10' IPM Byte 0 - These bits are
OFF
IPNBK Storage Layout
*** IPNBK - IP Node block
*
* +------+------+------+------+---------------------------+
* 0 |:TYPE |:PROTO|:FLAGS|:FLAG1| IPNLINK |
* +------+------+------+------+---------------------------+
* 8 | IPNFPNT | IPNBPNT |
* +---------------------------+---------------------------+
* 10 | IPNXFPNT | IPNXBPNT |
* +---------------------------+---------------------------+
* 18 | IPNTOD |
* +---------------------------+-------------+-------------+
* 20 | IPNUSAGE | IPN_OSID | IPNMSKNN |
* +------+--------------------+-------------+-------------+
* 28 |:ARPFL|////////////////////////////////////////////////|
* +------+------+-----------------------------------------+
* 30 |:PATYP|:IATYP| IPNMACAD |
* +------+------+-----------------------------------------+
* 38 | IPNIPXV4 |
* | +---------------------------+
* 40 | | IPNIPAV4 |
* +---------------------------+---------------------------+
* 48
*
*** IPNBK - IP Node block
*** Overlay for IPNADDR in IPNBK
*
* +-------------+------+------+------+--------------------+
* 38 | IPNRXLAN |:RXVER|:RXTYP|:RXFLG|////////////////////|
* +-------------+------+------+------+////////////////////|
* |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
*
*** Overlay for IPNADDR in IPNBK
IPNBK Cross Reference
Symbol Dspl Value -------------- ---- ----- IPN$END 0048 IPN_OSID 0024 IPNADDR 0038 IPNARP 0003 80 IPNARPFL 0028 IPNBKLN 0048 00000048 IPNBKSZ 0048 00000009 IPNBPNT 000C IPNDEACT 0002 80 IPNFLAGS 0002 IPNFLAG1 0003 IPNFPNT 0008 IPNIATYP 0031 IPNIAV4 0031 00000001 IPNIAV6 0031 00000002 IPNINUSE 0002 08 IPNIPAV4 0044 IPNIPAV6 0038 IPNIPV4 0001 00000004 IPNIPV6 0001 00000006 IPNIPXV4 0038 IPNLINK 0004 IPNLOCAL 0002 40 IPNMACAD 0032 IPNMCMSK 0048 F0 IPNMCOFF 0048 10 IPNMCON 0048 E0 IPNMSKNN 0026 IPNNARP 0028 01 IPNNFAIL 0028 02 IPNOWNER 0002 02 IPNPALAN 0030 00000001 IPNPATYP 0030 IPNPERM 0002 04 IPNPROTO 0001 IPNPROXY 0002 10 IPNREMOT 0002 20 IPNRXFLG 003C IPNRXGLR 003C 01 IPNRXID 0038 IPNRXLAN 0038 IPNRXMCR 003B 00000003 IPNRXPRI 003B 00000001 IPNRXSEC 003B 00000002 IPNRXTYP 003B IPNRXVER 003A IPNRXVLR 003C 00 IPNTOD 0018 IPNTYPBC 0000 000000C2 IPNTYPE 0000 IPNTYPMC 0000 000000D4 IPNTYPRX 0000 000000D9 IPNTYPUC 0000 000000E4 IPNUSAGE 0020 IPNXBPNT 0014 IPNXFPNT 0010
Copyright IBM Corporation, 1990, 2008