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. RELOCATION CONSIDERATIONS : None 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, 2011