Diagnosing NCPROUTE problems

The NCPROUTE protocol provides a standardized interface, through which a server program on one host (NCPROUTE) can manage the routing tables and respond to SNMP route table requests for another program (Network Control Program).

This topic contains the following subtopics:

Figure 1 shows the NCPROUTE environment.

Figure 1. NCPROUTE environment
SNALINK is used as the connection vehicle to establish one primary LU0 session between NCPROUTE and NCP client.

Prior to ACF/NCP V7R1, static route tables were used for routing IP datagrams over connected networks. However, the static routes had a drawback in that they were not able to respond to network topology changes. By implementing the RIP protocol between a host and NCP clients, the NCPROUTE server is able to provide dynamic IP routing for NCP clients. In effect, the NCP clients become active RIP routers in a TCP/IP network.

Multiple NCP units (374x family of communications controllers) can connect to the same NCPROUTE server on one host. This means that NCPROUTE can manage multiple routing tables for each NCP client. SNALINK is used as the connection vehicle to establish LU0 sessions between NCPROUTE and NCP clients. Each NCP client can have one or more LU0 sessions with NCPROUTE, provided that one session is used as primary and others as secondary for backup.

The NCPROUTE server reacts to network topology changes on behalf of NCP clients by maintaining each NCP client routing table, processing and generating RIP and SNMP datagrams, and performing error recovery procedures.

The NCPROUTE protocol is based on the exchange of protocol data units (PDUs).

The following list describes the eight types of PDUs:
Hello PDU
Sent from an NCP client to initiate a session with NCPROUTE.
Acknowledge PDU
Sent from NCPROUTE to acknowledge receipt of a Hello datagram. NCPROUTE is ready to manage the routing tables for an NCP client.
Status PDU
Sent from an NCP client to inform NCPROUTE of a status change with an interface. Interfaces can become inactive or active.
Delete Route Request PDU
Sent from NCPROUTE to request deletion of a route that is no longer known to the network from an NCP client routing table. This PDU can also be sent from an NCP client as a response informing NCPROUTE that the delete route request failed.
Add Route Request PDU
Sent from NCPROUTE to request addition of a route that is discovered by NCPROUTE to an NCP client routing table. This PDU can also be sent from an NCP client as a response informing NCPROUTE that the add route request failed.
Change Route Request PDU
Sent from NCPROUTE to request changing the value of a metric for a route currently active in an NCP client routing table.
Transport PDU
Sent from an NCP client to request NCPROUTE to retransmit RIP broadcasts sent from other routers and to process Simple Network Management Protocol (SNMP) requests sent from SNMP clients in the network. This PDU can also be sent from NCPROUTE as a response to retransmit RIP broadcasts or as a response to an SNMP query request. The Transport PDU contains encapsulated RIP and SNMP commands for additional processing.
Inactive Interface List PDU
Sent from an NCP client to inform NCPROUTE of currently inactive interfaces.

NCPROUTE uses the RIP messages for retransmitting of and responding to RIP updates and trace requests. A message might be unicasted, broadcasted, or multicasted, depending on the network interface capabilities in an NCP client.

There are four types of RIP messages that can be encapsulated in a Transport PDU. They are listed in Table 1
Table 1. Types of RIP messages
Message type Description
Request There are two types of Request messages:
REQUEST TO
Sent from NCP by NCPROUTE over a network interface to request routing table from one or more neighboring RIP routers.
REQUEST FROM
NCP received from one or more neighboring RIP routers as a request to transmit all or part of this NCP's routing table as supplied by NCPROUTE.
Response There are two types of Response messages:
RESPONSE TO
Sent from NCP by NCPROUTE as a response to a request from a neighboring RIP router or sent from NCP by NCPROUTE for advertisements of RIP updates at periodic intervals over a network interface. The message contains all or part of this NCP's routing table as supplied by NCPROUTE.
RESPONSE FROM
NCP received from a neighboring RIP router as a response to a request from NCP by NCPROUTE or received from one or more neighboring RIP router for advertisements of RIP updates at periodic intervals. The message contains all or part of a neighboring router's routing table.
TraceOn NCP received a request from a neighboring RIP router to enable the actions trace provided by NCPROUTE.
TraceOff NCP received a request to a neighboring RIP router to disable tracing provided by NCPROUTE.

NCPROUTE communicates with the SNMP agent over the Distributed Program Interface (DPI) to process the SNMP commands. In this configuration, NCPROUTE becomes the SNMP subagent to provide values of registered MIB variables to the SNMP agent.

There are four types of SNMP commands that can be encapsulated within a Transport PDU:

Get Request
NCP received a request from a client to obtain one or more MIB variable values from an SNMP agent.
Get Next Request
NCP received a request from a client to obtain the next variable value in the MIB tree from an SNMP agent.
Get Response
Sent from NCP to its client as a response to an SNMP request.
Set Request
NCP received a request from a client to set or change the value of one or more MIB variables in an SNMP agent. This command is not supported by NCPROUTE.

See z/OS Communications Server: IP User's Guide and Commands for detailed information about the SNMP commands.

Table 2 describes the MIB variables registered for use by NCPROUTE:
Table 2. MIB variables registered for use by NCPROUTE
MIB variable Description
ipRouteDest Destination IP address of this route
ipRouteMetric1 Primary routing metric for this route
ipRouteMetric2 Alternative routing metric for this route
ipRouteMetric3 Another alternative routing metric for this route
ipRouteMetric4 Another alternative routing metric for this route
ipRouteNextHop IP address of the next hop of this route
ipRouteType Type of route
ipRouteProto Routing mechanism by which this route was learned
ipRouteMask Mask value for this route

See z/OS Communications Server: IP User's Guide and Commands for detailed information about the MIB variables.