Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

IPNBK

Prolog  

Control Block Contents  
   IPNBK DSECT

Storage Layout  

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

This information is based on z/VM V6R2.0. Last updated on 21 Nov 2011 at 11:05:46 EDT.
Copyright IBM Corporation, 1990, 2011