z/OS Communications Server: SNA Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Structure of the CNM routing table

z/OS Communications Server: SNA Customization
SC27-3666-00

A CNM routing table consists of a 12-byte header entry and routing table entries. The 12-byte header entry contains the size and number of routing table entries that follow it. Each routing table entry contains the network services RU type to be routed, followed by the application program name to which the network services RU is to be routed. The header format is described in Table 1.

Table 1. Format of CNM routing table header

Dec (Hex)
offset

Size
(Bytes)

 
Description

0(0) 2 Number of entries
2(2) 2 Entry length (X'000C')
4(4) 8 Reserved

A CNM routing table entry consists of 12 bytes as described in Table 2.

Table 2. Format of CNM routing table

Dec (Hex)
offset

Size
(Bytes)

 
Description

0(0) 1 Flag byte:
Bit 0

0 = Do not send to VTAM® operator
1 = Send to VTAM operator also

Bit 1

0 = Embed in DELIVER RU
1 = Do not embed in DELIVER RU

Bits 2–7
Reserved
1(1) 3 Network services RU type
4(4) 8 Application program name in EBCDIC

Bit 0 of the flag byte specifies whether the RU is to be sent to the VTAM operator designated to receive unsolicited messages as well as to the CNM application program named in the table entry. This flag bit is supported only for requests for which VTAM has operator message support (that is, ROUTE-INOP).

Bit 1 of the flag byte allows you to specify that an RU is to be sent to a user-written CNM application program without being embedded in a DELIVER RU. If this flag bit is set to 1, VTAM sends the request unit to the application program without embedding it in a DELIVER RU. If the flag bit is set to 0, the request unit is embedded in the DELIVER RU.

The following types of requests can be received by an application program that uses the CNM interface. You should provide an entry in the table for each type of unsolicited network services RU. The network services header value listed below must be coded in the respective entry for that network services RU type (bytes 1–3).

Request Header value
RECMS  X'010381'
RECFMS  X'410384'
INIT-LOAD  X'3F0233'
TR-INQ  X'3F0814'
ROUTE-INOP  X'410289'
ER-TESTED  X'410386'
CNM  X'810814'
NMVT  X'41038D'

You can code more than one entry associating a single type of RU with more than one application program; however, no more than one program associated with that type of RU can be active at the same time. For example, if an application program associated with the RECMS RU is already active, another application program associated with the RECMS RU is unable to open its ACB.

For a CNM routing table that permits either of two CNM application programs (CNMAPPL1 or CNMALT) to receive unsolicited requests, you might code the following:
         CSECT
HDR      DC    X'0004'          NUMBER OF ENTRIES
         DC    X'000C'          ENTRY LENGTH
         DC    8X'00'           RESERVED
 
ENT1     DC    X'00'            RESERVED
         DC    X'010381'        RECMS
         DC    CL8'CNMAPPL1'    APPLNAME
 
ENT2     DC    X'00'            RESERVED
         DC    X'410384'        RECFMS
         DC    CL8'CNMAPPL1'    APPLNAME
 
ENT3     DC    X'00'            RESERVED
         DC    X'010381'        RECMS
         DC    CL8'CNMALT  '    APPLNAME
 
ENT4     DC    X'00'            RESERVED
         DC    X'410384'        RECFMS
         DC    CL8'CNMALT  '    APPLNAME
         END
Note that in the above example, CNMAPPL1 and CNMALT have each been defined to receive the same type of unsolicited requests (RECMS and RECFMS). In this case, both application programs cannot be active (that is, have open ACBs for application programs whose network names are CNMALT and CNMAPPL1) at the same time.
Notes:
  • If you are using a user-written alias name translation facility, include it in your CNM routing table as the receiver of the TR-INQ and ROUTE-INOP request units. If you are using the alias name translation facility supplied as a function of the NetView® program, the default CNM routing table already contains the information needed for routing.
  • If you add an entry for ER-TESTED to ISTMGC00 (or whatever you have chosen to name it) and specify an application other than ISTNOP as the receiver of that request unit, D NET,ROUTE,TEST=YES will not display the expected response messages. This is because the ROUTE TEST=YES responses are returned as ER-TESTED RUs and routed using the CNM routing tables.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014