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.
     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' Unicast IPNBK
              000000D4       IPNTYPMC       C'M' Multicast IPNBK
              000000C2       IPNTYPBC       C'B' Broadcast IPNBK
              000000D9       IPNTYPRX       C'R' Router IPNBK
    0001    1 Bitstring    1 IPNPROTO       Protocol (see IPAIPVER)
              00000004       IPNIPV4        4 IPv4 Protocol
              00000006       IPNIPV6        6 IPv6 Protocol
    0002    2 Bitstring    1 IPNFLAGS       IPNBK flags
              1... ....      IPNDEACT       X'80' DEACTIVATED from LAN IP
                                            Table
              .1.. ....      IPNLOCAL       X'40' LOCAL to this LAN Segment
              ..1. ....      IPNREMOT       X'20' Remote (soft) IP Entry
              ...1 ....      IPNPROXY       X'10' Set by ARP Add Address
                                            Entry
              .... 1...      IPNINUSE       X'08' Indicate recent activity
              .... .1..      IPNPERM        X'04' Permanent (SETIP/SETIPM)
                                            entry
              .... ..1.      IPNOWNER       X'02' Owner of VSWITCH IP address
    0003    3 Bitstring    1 IPNFLAG1       Additional flags
          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      IPNARPRQ       B'00000001' X'01' ARP this
                                            request (normal)
          OsaArpControl
            CP:     IPAIPARP
            TCPIP:  OsaArpControl.
          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.
              00000002       IPNNARP        B'00000010' X'02' DO NOT ARP this
                                            req (takeover)
          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.
              00000004       IPNNFAIL       B'00000100' X'04' DO NOT FAIL a
                                            matching ARP request
    0029   41 Bitstring    7 *              Reserved
          ARP Cache Table would contain these fields.
    0030   48 Bitstring    1 IPNPATYP       ARP Physical Address Type
              00000001       IPNPALAN       1 - LAN address type == MAC
    0031   49 Bitstring    1 IPNIATYP       ARP Internet Address Type
              00000001       IPNIAV4        1 - ARP IPv4 address type
              00000002       IPNIAV6        2 - 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 - Primary router
              00000002       IPNRXSEC       2 - Secondary router
              00000003       IPNRXMCR       3 - Multicast router
    003C   60 Bitstring    1 IPNRXFLG       - Global router flag
              00000000       IPNRXVLR       0 - vlan router
              00000001       IPNRXGLR       1 - 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
    IPNARPFL       0028
    IPNARPRQ       0028 01
    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 00000002
    IPNNFAIL       0028 00000004
    IPNOWNER       0002 02
    IPNPALAN       0030 00000001
    IPNPATYP       0030
    IPNPERM        0002 04
    IPNPROTO       0001
    IPNPROXY       0002 10
    IPNREMOT       0002 20
    IPNRXFLG       003C
    IPNRXGLR       003C 00000001
    IPNRXID        0038
    IPNRXLAN       0038
    IPNRXMCR       003B 00000003
    IPNRXPRI       003B 00000001
    IPNRXSEC       003B 00000002
    IPNRXTYP       003B
    IPNRXVER       003A
    IPNRXVLR       003C 00000000
    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 V5R2.0. Last updated on 12 Apr 2006 at 16:59:36 EDT.
Copyright IBM Corporation, 1990, 2005