Table Of Contents
Troubleshooting Client and Server FTP3
General Guidelines for Problem Isolation
Dotted Notation IP Address Wildcarding (*)
Comparing TCPEEP and MVS TRACE Syntax
Starting a Trace Instance and connecting an External Writer
Modifying a Trace Instance to connect an External Writer
Modifying a Trace Instance to disconnect an External Writer
Stopping a Trace Instance and Disconnecting an External Writer
TSO Diagnostic Commands
This chapter describes the diagnostic commands available in Cisco IOS for S/390. The chapter is organized into the following sections.
•Troubleshooting Client and Server FTP3
Describes guidelines for problem isolation with the Cisco IOS for S/390 FTP compatibility.
A Customer Support command to debug the Cisco IOS for S/390 commutator.
A command to query the Domain Name Resolver (DNR).
The diagnostic command to monitor and manage Cisco IOS for S/390 activity.
A command to request information for routes known to OSPF.
•PING
A command to determine if a host is active on the network.
A command to request all routes known by a RIP gateway.
A command to query an RPC server to obtain information about program names and program numbers for a specified host.
A command to invoke the Cisco IOS for S/390 packet trace program and diagnose remote host communication problems.
Trace command enhancements to collect TCP/IP data and display it on a terminal or send it to an external writer.
A command to print the route that packets take to get to a network host.
Troubleshooting Client and Server FTP3
This section describes problem isolation in the Cisco IOS for S/390 FTP compatibility feature. Troubleshooting information is divided into server and client. The client is a three-party model; it therefore requires both server and client documentation.
General Guidelines for Problem Isolation
When encountering FTP3 problems, start with the following problem resolution process.
1 Determine the level of maintenance that is running.
2 Enable the DEBUG or TRACE option and rerun the failing command.
3 Run a network trace.
4 Look at the T01LOG job output.
Resolving Server FTP Problems
For incorrect input through FTP, collect the following:
•A description of the action preceding the failure and the condition of the system (such as 100 terabyte transfer).
•The job output of the Cisco IOS for S/390 gateway at the time of failure, including
•the JES log
•any PSNAP data
•T01LOG
•any enabled traces
•A log or screen print of the failing transfer, including any messages.
•Any client software involved, including the name of the vendor, the release number, the direction of transfer, the file format; and the contents (if requested).
•Whether the failure is reproducible or random. If reproducible, obtain a TCPEEP TCP trace.
Resolving Client FTP Problems
For incorrect input through FTP, collect the following information:
•A description of the action preceding the failure and the condition of the system (such as 100 terabyte transfer).
•The job output of the Cisco IOS for S/390 gateway at the time of failure, including
•the JES log
•any PSNAP data
•T01LOG
•any enabled traces
•A log or screen print of the failing transfer, including any messages.
•Turn on the TRACE or DEBUG parameters. The recommended procedure is to run the command in batch mode and save the recorded trace output for problem resolution.
•Any client software involved, including the name of the vendor, the release number, the direction of transfer, the file format; and the contents (if requested).
•Whether the failure is reproducible or random. If reproducible, obtain an TCPEEP TCP trace.
ACTEST
The Telnet command ACTEST invokes the ACTEST parameter and debugging interface to the Cisco IOS for S/390 commutator. A generalized terminal I/O interface implements it. It is generally used only on advice of Customer Support.
To invoke ACTEST
•From Server Telnet, through an ATPUT/ATGET interface, select ACTEST at the Server Telnet command screen (port 23). It requests logon and calls PACCESS to verify privileges.
•From User Telnet (TSO), use VTAMTEST as the remote host name. The path requires a local logon. It is particularly useful when there is a problem with TCP/IP, since no network I/O is required.
This list describes the ACTEST options:
DNRGET
The DNRGET TSO diagnostic command invokes the command processor that allows direct queries to be made to the Domain Name Resolver (DNR). DNRGET can issue all sixteen combinations of domain name requests supported by the DNR. Also, the full range of options that the DNR can support can be specified.
Each reply returned by the DNR is formatted and displayed. The format of the returned data is dependent on the type and mode of the request. Any conditional completion codes or error codes are formatted and displayed. Along with these codes, a textual message explaining the code is displayed.
DNRGET executes as a TSO command processor. All messages that are written and done with TPUTs restricting its use to interactive TSO users only. Also, the TSO profile option PROMPT must be set if DNRGET is to prompt for correct operands in the event of an error.
DNRGET can not be invoked with the TSO CALL or TSOEXEC commands. Therefore the LINK data set must either be in your system's link list or in the STEPLIB DD concatenation of your TSO JCL procedure.
If, after invocation, DNRGET waits too long for a reply from the DNR, press PA1 to interrupt its execution without causing any errors.
The syntax of the DNRGET command is as follows:
DNRGET request_type request_mode
request [Block | Noblock] [Copy | Nocopy] [Local | Global] [SIze(count)]
[SYsid(subsystem_id)] [Time(seconds)]
Note At a minimum, you must specify the letters that are capitalized of the request parameters.
Syntax Description
NETSTAT/SYSSTAT
The NETSTAT and SYSSTAT diagnostic commands invoke the user information and operator control interface for Cisco IOS for S/390. The diagnostic commands are used to monitor and manage Cisco IOS for S/390 activity.
The TCP task group must be active. System security adjustments should be made if the new management commands require authorization
Information retrieval is from a running, operational gateway, so commands associated with the NETSTAT facility can originate outside the gateway address space.
Commands can originate from the following.
•The system console operator
•A TSO user
•A remote user via Telnet
NETSTAT commands that interrogate only are unrestricted commands; management commands that result in dynamic modification of internal control blocks or session behavior require authorization, unless the source is the system console operator.
Note SYSSTAT commands entered under TSO are secure based on the TSO userid.
Command Syntax
The external syntax of commands varies slightly, depending on the origin. Operator commands start with some sequence that identifies the target address space.
For example, to request a NETSTAT connection display, use one of the following operator commands:
F jobname,NETSTAT CONN
or
%NETSTAT CONN
where % is the subsystem recognition character.
A remote Telnet user would use the following command:
NETSTAT CONN
A TSO version may include TSO-specific keywords:, as shown by the following
NETSTAT CONN SSID(ABCD)
Dotted Notation IP Address Wildcarding (*)
In most cases where a dotted notation IP address is accepted, wildcarding or omission adheres to the following syntax:
nnn <.nnn | * > <.nnn | * > <.nnn | * >
The usual dotted notation consists of four numeric components, each between 0-255, and separated by a period. For example:
111.112.113.4
If a component is omitted, right to left, it is replaced with 0, so 111.112.113 will be interpreted as a specific IP address of 111.112.113.000, and 111.112 will be interpreted as 111.112.000.000.
If a component is replaced with an asterisk (*), it will be interpreted as a non-specific wildcard. So 111.112.113.* will satisfy any IP address match starting with 111.112.113, and 111.112.* will satisfy any IP address starting with 111.112.
Wildcarding must be applied to an entire component. In other words, 11* is not valid. Both wildcarding and omission must be rightmost in the IP address string. That is, 111.*.113.4 is not valid.
TSO Command Common Parameters
The DDNAME( name ) and SSID( name ) parameters are common to all TSO commands.
NETSTAT CONN DDNAME( ddname ) SSID( subsysname )
NETSTAT Diagnostic Commands
The NETSTAT diagnostic commands are described following.
ARP
Display the status of devices that have responded to a request or are pending a request. The request status is retrieved from cache.
NETSTAT ARP[IPNAME] [MEDIA( name )] [MSGID | NOMSGID]
Syntax Description
The following messages result from the NETSTAT ARP command:
The status is defined as follows:
•Valid - a response was received from a device request
•Dead - the requested device did not respond
•Static - the device is defined in the TCPCFGxx file
•Router - the requested device is a router
•Pending resolution - a request has been made but not response was received
HELP
Displays a summary of the NETSTAT and SYSSTAT commands.
NETSTAT HELP [command] [MSGID | NOMSGID]
Syntax Description
The following messages result from the NETSTAT HELP command:
CNFG
Display configuration information in one of the following formats.
NETSTAT CNFG [MSGID]
NETSTAT CNFG LNI [CETI | CLAW] [MSGID]
NETSTAT CNFG TCP | UDP | RAW | ALL [MSGID]
Syntax Description
The following messages result from the NETSTAT CNFG command:
CONN
Gives connection summary information for specified connection
NETSTAT CONN
[COUNT] [FULL] [MSGID | NOMSGID] [SEP] [TCP | UDP | RAW]
[LOCPORT(nnn)] [REMPORT(nnn)]
[LOCHOST(ip_addr)] [REMHOST(ip_addr)]
[JOB(name)] [PLU(name)] [SLU(name)] [SESSION(nnn)]
Syntax Description
The following messages result from the NETSTAT CONN command:
ROUTE
Displays the routing table entries.
NETSTAT ROUTE [IPNAME] [MSGID | NOMSGID]
Syntax Description
The following messages result from the NETSTAT ROUTE command:
USER
Displays information about connected users.
NETSTAT USER [SESSION(nnn)] [IPNAME] [MSGID | NOMSGID]
or
NETSTAT USER [REMHOST(ip_addr)] [LOCPORT(nnn)] [IPNAME]
[MSGID | NOMSGID]
Syntax Description
The following messages result from the NETSTAT USER command:
SYSSTAT Diagnostic Commands
The SYSSTAT diagnostic commands include all of the NETSTAT commands, plus the commands CANC and CHANGE. These are described following.
CANC
Cancel a specified session.
SYSSTAT CANC [SESSION(nnn)] [MSGID | NOMSGID]
or
SYSSTAT CANC [TCP | UDP | RAW] REMHOST(ip_addr) | LOCPORT(nnn)
[MSGID | NOMSGID]
Syntax Description
Caution Cancellation by a specific session number will only cancel a single session. The other option, cancellation by protocol/IP/port, can terminate multiple sessions.
CHANGE
Change TCP variables.
SYSSTAT CHANGE [CWIND(nnn) SESSION(nnn)] [THRS(nnn) SESSION(nnn)]
[RTT(nnn) SESSION(nnn)] [DEBUG(ON | OFF)] [SESSION(nnn)]
[MSGID | NOMSGID]
Syntax Description
OSPFMON
The OSPFMON (ospf_monitor) TSO diagnostic command can request information for routes known to OSPF.
Note OSPFMON executes as a TSO command processor. All messages that are written are done with TPUTs, restricting its use to interactive TSO users only. OSPFMON is intended to be used as a tool for debugging gateways, not for network management. SNMP is the preferred network management protocol. GateD responds only to OSPFMON requests issued on the same subnet on which GateD is running.
OSPFMON -x subsysid filename
subsysid
Four character MVS subsystem ID of the Cisco IOS for S/390 job or started task
Default: ACSS
filename
Name of a file that has a list of gateways
Example
The following is a sample of a list of gateways:
138.42.181.50 gateway1.company.com [password]138.42.171.64 gateway2.company.com138.42.181.200 gateway3.company.com138.42.171.220 gateway4.company.com138.42.181.3 gateway5.company.com138.42.224.4 gateway6.company.comThe optional password is specified by the monitorauthkey sub-parameter of the ospf parameter of the GateD configuration file.
Local Commands
Enter OSPFMON for the desired subsystem ID. These commands are supported:
PING
Use the PING TSO diagnostic command to determine if a host is active on the network. PING sends an ICMP ECHO_REQUEST packet to network hosts to elicit an ICMP ECHO_RESPONSE from the specified host or network gateway. If the host responds, PING replies that the host is alive and then exits. Otherwise, after the timeout expires, PING replies that there was no answer from the host.
If a count is not specified, PING continues to try until it is stopped.
Note PING requires the SAS/C Transient Library modules that are supplied in the LOAD/SASLOAD data set. This library is required in either your LOGON procedure or BATCH job STEPLIB DD.
Source for PING and many BSD socket applications can be obtained via anonymous FTP from Internet host gatekeeper.dec.com.
If, after invocation, PING waits too long for a reply, press PA1 to interrupt its execution (this may produce a dump of system related errors).
PING [-dnqv] [-c count] [-i wait] [-l preload] [-p pattern] [-s packetsize] [-x subsysid]
host
Syntax Description
RIPQUERY
The RIPQUERY TSO diagnostic command can request all routes known by a RIP gateway by sending a RIP request or POLL command. The routing information in any routing packets returned is displayed numerically and symbolically.
Note The RIPQUERY tool executes as a TSO command processor. All messages are written with TPUTs, which restricts its use to interactive TSO users. The RIPQUERY tool is for debugging gateways, not for network management. SNMP is the preferred network management protocol.
By default, RIPQUERY uses the RIP POLL command for this version of GateD. The RIP POLL command is preferable to the RIP REQUEST command as it is not subject to Split Horizon and/or Poisoned Reverse. See the RIP RFC for more information.
RIPQUERY -x subsysid [-a password] [-d] [-n] [-p] [-r] [-v] [-1] [2] [-w time] routers...
Syntax Description
RPCINFO
The RCPINFO command queries an RPC server to obtain information about program names and program numbers for the specified host.
The RPCINFO command is supplied with Cisco IOS for S/390 as a TSO command processor for use on the MVS system. Its usage is similar to the rpcinfo command on UNIX systems. No parameters are positional or case sensitive.
Read Cisco IOS for S/390 Unprefixed Messages and Codes for information about RPCINFO error messages.
RPCINFO [PROTO (protocol)] [HOST(host_name)] [PROG(prog_num)]
[VERS(vers_num)] [PORT(port)] [SYSID(subsystem_id)]
Syntax Description
Examples
•Use this RPCINFO command to dump the portmapper registration tables:
RPCINFO PROTO(protocol) HOST(host_name) PROG(prog_num)
[VERS(vers_num)] [PORT(port_num)]
[SYSID(subsystem_id)]
Use this command to ping an RPC service:
RPCINFO HOST(host_name) [SYSID(subsystem_id)]
Use this command to delete an RPC service registration with the LOCAL portmapper:
RPCINFO DELETE PROG(prog_num) VERS(vers_num) SYSID(subsystem_id)
•The following is a sample command and output for the RPC HOST command to list the services registered on MVS host zeus:
RPCINFO HOST(ZEUS)
RPC105I Thu Feb 07 10:47:10 1991 number vers. protocol port nameRPC106I Thu Feb 07 10:47:10 1991 100000 2 TCP 111 PORTMAPPERRPC106I Thu Feb 07 10:47:10 1991 100000 2 UDP 111 PORTMAPPERRPC106I Thu Feb 07 10:47:10 1991 100059 1 UDP 4098RPC106I Thu Feb 07 10:47:10 1991 100044 1 UDP 4099RPC106I Thu Feb 07 10:47:10 1991 100005 1 UDP 4100 MOUNTDRPC106I Thu Feb 07 10:47:10 1991 150001 1 UDP 4101RPC106I Thu Feb 07 10:47:10 1991 100003 2 UDP 2049 NFSTCPEEP
TCPEEP is a TSO command that invokes the Cisco IOS for S/390 packet trace program to diagnose remote host communication problems. The TCPEEP real-time trace consists of selected network packet traffic to and from a local host. The TCPEEP command recognizes LNI level traffic and most of the IP-based higher level protocols.
TCPEEP will create a NO WRAP Component Trace Instance and display the output on a TSO terminal or direct it to a dynamically allocated SYSOUT data set. Optionally, it can stop any Component Trace Instance or modify an existing Component Trace Instance or view an existing Component Trace Instance.
Note TCPEEP runs only when the Cisco IOS for S/390 and TRACE address spaces are active.
User Interface
TCPEEP can be run as a TSO command, either from TSO or as a batch TSO.
The JCL to run TCPEEP as a batch job is in SAMP member TCPEEP. Cisco IOS for S/390 TRACE must be up and running before submitting a batch job for TCPEEP.
The following is a sample JCL for running TCPEEP in batch.
//TCPEEP JOB (TCPEEP),'TCPEEP', CLASS=A,MSGCLASS=X//*//* Sample JCL to run TCPEEP in batch.//*//* Update "trgindx" to reflect your library naming convention//*//* Note: The Cisco IOS for S/390 and TRACE address spaces must be running.//*//*TCPEEP EXEC PGM=IKJEFT01,DYNAMNBR=50,REGION=4M//STEPLIB DD DISP=SHR,DSN=trgindx.LINK//SYSPRINT DD SYSOUT=*//SYSTSPRT DD SYSOUT=*,LRECL=132,BLKSIZE=132,RECFM=FB//SYSIN DD DUMMY//*//SYSTSIN DD *//*TCPEEP TRCSSID(ACTR) GROUPS(NETIF) +BUFFTIME(5)/*To stop the TCPEEP batch job, issue the MVS STOP command (for example, P jobname).
Trace Data Collected
The trace facility collects the following type of trace data:
•From an application
•TCP/IP address space
Simultaneous tracing of various trace types can be fed into a single trace output.
Note If data is to be collected via the external writer to an external data set, you must use the MVS TRACE command. Read External Writer for more information.
Viewing Trace Data
TCPEEP collects real time data and by default writes to SYSTSPRT. Optionally, it can write to a dynamically allocated SYSOUT data set.
Trace Operation
Each occurrence of the TCPEEP command varies according to the type of environment.
To stop a trace, press the terminal ATTENTION key and enter H at the prompt (null entry will allow trace to continue).
CautionTCPEEP should be installed in a protected library only. It can be used to display all network traffic through Cisco IOS for S/390, including user IDs and passwords.
TCPEEP Syntax
This section describes the TCPEEP syntax and describes its parameters.
TCPEEP [ASID(asid,...)] [BUFFERS (size, number)] [BUFFTIME (time_out)]
[DATASIZE (record_size)] [DNRSSID (ssid)] [FORMAT(format_options)]
[FULL | SUMMARY] [GROUPS(( group [,'filter')...)] [HALT]
[INSTANCE (instance_ID)] [JOBNAME (jobname,...)] [NOHEADER]
[PEEK (limit)] [SYSOUT (class)] [TRACESIZE (num_records)]
[TRCSSID (ssid)]
Syntax Description
ASID
(asid,...)
Specifies the address space identifiers (ASIDs) of address spaces used as a filter for tracing. Events in the ASIDs are recorded by the component trace.
The parameter contains a list of 0 to 16 hexadecimal ASIDs separated by commas. An empty ASID list, ASID=(), turns off filtering by address spaces. In the ASID parameter, list all address spaces to be traced. Address spaces for previous traces are not traced unless listed.
Default: None
BUFFERS
(size,number)
Specifies the size of the trace buffers in kilobytes and/or the number of buffers. size may be a value between 64 and 1024 with the default being 256. num may be a value between 2 and 128 with the default being 4. BUFFERS is optional and may only be specified when creating a new trace instance. If specified when modifying a trace instance, it is ignored.
Range: size: 64 - 1024, number: 2 - 128
Default: (256, 4)
BUFFTIME
(time_out)
Specifies the buffer time out interval in seconds. At the end of each interval, if the current buffer contains data but is not full, a buffer flush operation is initiated. BUFFTIME is optional and may only be specified when creating a trace instance. If specified when modifying a trace instance, it is ignored.
This parameter can be used to force a buffer switch so you don't have to wait for the entire buffer to fill to see trace data.
Range: 0 - 99999
Default: 10
DATASIZE
(record_size)
Specifies the maximum size of a trace record in kilobytes. Trace records that exceed the specified value are truncated. DATASIZE is optional and may only be specified when creating a trace instance. If specified when modifying a trace instance, it is ignored. If the specified maximum size exceeds the largest supported trace record size (64K less control headers), then the specification has no effect.
Default: None
DNRSSID
(ssid)
Specifies the subsystem ID of the address space to be used for name resolution by the GROUPS filtering process. Specification is ignored if GROUPS with filter parameters is not specified.
Default: ACSS
FORMAT
( format_options)
The format of the collected data.
Formatted data can be specified as follows:
•APCB—specifies the APCB should be formatted
•APCBHEX—Dump the APCB in hex
•ARP—selects ARP level trace
•ARPHEX—selects ARP level trace but dumps the ARP header in hex
•ASCII(len)—same as DATA(len) but uses an ASCII only translate table
•DATA(len)—displays the actual data transmitted. len is optional, the default being to display all the data. For example, FORMAT(DATA). Specifying FORMAT( DATA( 16 ) ) would display at most 16 (X'10') bytes of data. This uses a mixed ASCII and EBCDIC translate table.
•DEVICE—display device/interface name
•EBCDIC(len)—same as DATA(len) but uses an EBCDIC only translate table
•IP—selects IP level trace
•IPHEX—selects IP level trace but dumps the IP header in hex
•ICMP—selects ICMP level trace
•ICMPHEX—selects ICMP level trace but dumps the ICMP header in hex
•LNI—selects the LNI trace (all LNI traffic is traced)
•TCP—selects TCP level trace
•TCPHEX—selects TCP level trace but dumps the TCP header in hex
•TPL—specifies the TPL should be formatted
•TPLHEX—dump the TPL in hex
•UDP—selects UDP level trace
•UDPHEX—selects UDP level trace but dumps the UDP header in hex
Format options for NETIF are ARP, ARPHEX, DATA(nn) | EBCDIC(nn) | ASCII(nn), DEVICE, IP, IPHEX, LNI, TCP, TCPHEX, UDP, UDPHEX,.
NETIF Defaults: ARP, IP, ICMP, LNI, TCP, UDP
Format options for TLI are APCB, APCBHEX, TPL, and TPLHEX.
TLI Defaults: APCB and TPL
FULL | SUMMARY
Show all or a summary of the data.
Default: SUMMARY
GROUPS
( ( group
[ , 'filter' ] )
... )
Trace group or groups for which data is collected and optionally a filter parameter for each group. Use GROUPS parameter to limit the amount of data collected. Used with INSTANCE to modify an existing trace instance, either adds a new group to the trace instance or replaces an existing group for the trace instance. Once added, a group cannot be removed from the active trace instance.
group - selects the type of data to collect: NETIF or TLI.
•NETIF is a network interface that includes the following filter options:
–HOST(host,...,host)—up to 16 IP HOST addresses (names)
–PORT(port,...,port)—up to 16 port numbers (names)
–PROTOCOL—a single protocol (for example, UDP)
–TYPE(type) for NETIF can be one of the following:
TYPE(IP)—if datagram is an IP packet, then keep it
TYPE(ARP)—if datagram is an ARP packet, then keep it
TYPE(ALL)—keep all datagrams (same as not specifying the filter)
There are no defaults for filters; everything is collected by default.
•TLI is a collection of trace points in the stack for processing TLI activity with the following filter options:
–HOST(host,...,host)—up to 16 IP HOST addresses (names)
–PORT(port,...,port)—up to 16 port numbers (names)
–UASID(asid,...,asid)—takes one to 16 asids, which refer to jobs using the TLI function
–USER(jobname,..,jobname)—takes one to 16 jobnames, which refer to jobs using the TLI function
Refer to the section Useful TCPEEP Commands for usage of the GROUPS parameter.
Default: NETIF
HALT
Stop a component trace instance.
INSTANCE
( instance_id)
By specifying the instance_id returned from TCPEEP or the MVS TRACE CT command, you can select a trace instance to display.
JOBNAME
( jobname,....)
Names of jobs used as filters for tracing. Events in these jobs are recorded by the component trace.
NOHEADER
Do not display the header information from the trace entry. This option helps limit the output. Without it one line will print describing the trace entry even if no other information about that entry displays.
PEEK
( limit)
Number of trace records to view. Use to view an existing trace. PEEK or PEEK(0) implies no limit; PEEK(n) traces only n trace records.
Range: 0 - no limit.
Default: 0
SYSOUT
( class)
Output sent to a dynamically allocated SYSOUT data set.
By default, the output for TCPEEP writes to SYSTSPRT.
Default: X.
TRACESIZE
( num_records)
Maximum number of trace records to be recorded. If not specified, there is no limit to the number of records recorded. TRACESIZE is optional and may only be specified when creating a trace instance. If specified when modifying a trace instance, it is ignored.
TRCSSID
( ssid)
ID of the trace address space.
Default: ACTR
Useful TCPEEP Commands
This section lists the keywords for each function listed.
Creating a NOWRAP Trace
Use the following command to initiate a NO WRAP trace instance:
TCPEEP TRCSSID(trcsubsysid) DNRSSID(dnrsubsysid) GROUPS(group) +
JOBNAME(jobname) ASID(asid) DATASIZE(size) TRACESIZE(trcsize) +
BUFFERS(bufname) BUFFTIME(buftime) FORMAT(format_options) +
SYSOUT(class)
Stopping Trace
Use this command to stop any trace instance:
TCPEEP INSTANCE(inst) HALT TRCSSID(trcsubsysid)
Modify Existing Trace
Use this command to modify an existing trace instance:
TCPEEP INSTANCE(inst) TRCSSID(trcsubsysid) DNRSSID(dnrsubsysid) +
GROUPS (group) JOBNAME(jobname) ASID(asid) PEEK +
FORMAT(format_options) SYSOUT(class)
Regardless of how the trace is started you will view it LIFO for the specified number of records (PEEK or PEEK(0) implies no limit).
View Existing Trace
Use this command to view an existing trace instance:
TCPEEP INSTANCE(inst) TRCSSID(trcsubsysid) PEEK +
FORMAT(format_options) SYSOUT
Regardless of how the trace is started you will view it LIFO for the specified number of records (PEEK or PEEK(0) implies no limit).
Specifying GROUPS
This example shows how to specify the GROUPS for TCPEEP.
TCPEEP GROUPS ( (NETIF, 'HOST (host1, host2), PORT (ECHO) '), +
(NETIF, 'HOST (host3) '))
This example allows you to specify NETIF without additional filtering.
TCPEEP GROUPS (NETIF)
To specify NETIF and PROTOCOL(UDP):
TCPEEP GROUPS ((NETIF, 'PROTOCOL (UDP)'))
TCPEEP Examples
This section shows the output from several TCPEEP commands.
Default TCPEEP Command
This sample shows the output for a TCPEEP command with no filtering.
3172 00010100 03/26 12:47:13.246650 INPUT3172 Control:Offset=0, Next=20, Data Len=20, Adapter=0CMD= Shutdown_ Flag= ICP-Init------------------------------------------------------------3172 00010200 03/26 12:47:13.247232 OUTPUTFDDI:Offset=0, Next=73, Data Len=73, Adapter=2Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BCProtType=0800 (IP)IP:Src=192.120.80.9, Dst=9.12.120.110, TotLen=48, Prot=6, Id=38827Vers=4, Hdr Len=20, TOS=0, TTL=60, Offset=0(0), Cksum=68C0TCP:12:47:13.247232 192.120.80.9:1234 --> 9.12.120.110:9Seq:1,9(8) Ack:2 PshHdrLen=20, Win=2048(2050), Cksum=9BAC, Flags=08-----------------------------------------------------------3172 00010100 03/26 12:47:13.247546 INPUTFDDI:Offset=0, Next=61, Data Len=61, Adapter=2Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BCProtType=0800 (IP)IP:Src=192.120.80.8, Dst=9.12.120.110, TotLen=36, Prot=17, Id=38827Vers=4, Hdr Len=20, TOS=0, TTL=60, Offset=0(0), Cksum=68C0UDP:Src Port=5678, Dst Port=9, Len=16, Cksum=F35A-----------------------------------------------------------3172 00010100 03/26 12:47:13.247706 INPUTFDDI:Offset=0, Next=61, Data Len=61, Adapter=2Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BCProtType=0800 (IP)IP:Src=192.120.80.8, Dst=9.12.120.110, TotLen=36, Prot=1, Id=20000Vers=4, Hdr Len=20, TOS=0, TTL=60, Offset=0(0), Cksum=68C0ICMP:Echo Response,_ Cksum=5D52Id=04D2, Sequence Number=5678-----------------------------------------------------------3172 00010100 03/26 12:47:13.248779 INPUTToken Ring:Offset=0, Next=316, Data Len=316, Adapter=1Access Control=10, Frame Control=40Destination=FF.FF.FF.FF.FF.FF, Source=92.34.56.78.9A.BCControl Byte 1=06, Control Byte 2=B0Segments:1234 5678Dsap=01, Ssap=02, Ctl=03ProtType=0800 (IP)IP:Src=192.120.80.9, Dst=9.12.120.110, TotLen=281, Prot=6, Id=38827Vers=4, Hdr Len=20, TOS=0, TTL=60, Offset=0(0), Cksum=68C0TCP:12:47:13.248779 9.12.120.110:9 <-- 192.120.80.9:1234Ack:2 Seq:1,242(241) Urg PshHdrLen=20, Win=2048(2050), UrgPtr=2(3), Cksum=9BAC, Flags=28------------------------------------------------------------LNI Level Trace
This example shows the LNI level trace output.
3172 00010100 03/26 13:00:53.774527 INPUT3172 Control:Offset=0, Next=20, Data Len=20, Adapter=0CMD= Shutdown_ Flag= ICP-Init-----------------------------------------------------------3172 00010200 03/26 13:00:53.774881 OUTPUTFDDI:Offset=0, Next=73, Data Len=73, Adapter=2Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BCProtType=0800 (IP)-----------------------------------------------------------3172 00010100 03/26 13:00:53.775035 INPUTFDDI:Offset=0, Next=61, Data Len=61, Adapter=2Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BC_ProtType=0800 (IP)-----------------------------------------------------------3172 00010100 03/26 13:00:53.775967 INPUTToken Ring:Offset=0, Next=316, Data Len=316, Adapter=1Access Control=10, Frame Control=40Destination=FF.FF.FF.FF.FF.FF, Source=92.34.56.78.9A.BC_Control Byte 1=06, Control Byte 2=B0Segments:1234 5678Dsap=01, Ssap=02, Ctl=03ProtType=0800 (IP)-----------------------------------------------------------CETI 00010103 03/26 13:00:53.778563 INPUTCETI Ethernet:Flags=00, Data Len=50Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BCProtType=0800 (IP)-----------------------------------------------------------DATA Output
This sample shows the output for viewing the data.
3172 00010200 03/26 13:03:50.826067 OUTPUTFDDI:Offset=0, Next=73, Data Len=73, Adapter=2Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BCProtType=0800 (IP)IP:Src=192.120.80.9, Dst=9.12.120.110, TotLen=48, Prot=6, Id=38827Vers=4, Hdr Len=20, TOS=0, TTL=60, Offset=0(0), Cksum=68C0TCP:13:03:50.826067 192.120.80.9:1234 --> 9.12.120.110:9Seq:1,9(8) Ack:2 PshHdrLen=20, Win=2048(2050), Cksum=9BAC, Flags=08DATA +0000 E3C3D740 C4C1E3C1 *TCP@DATA *-----------------------------------------------------------3172 00010100 03/26 13:03:50.826222 INPUTFDDI:Offset=0, Next=61, Data Len=61, Adapter=2Destination=FF.FF.FF.FF.FF.FF, Source=52.34.56.78.9A.BCProtType=0800 (IP)IP:Src=192.120.80.8, Dst=9.12.120.110, TotLen=36, Prot=17, Id=38827Vers=4, Hdr Len=20, TOS=0, TTL=60, Offset=0(0), Cksum=68C0UDP:Src Port=5678, Dst Port=9, Len=16, Cksum=F35ADATA +0000 55445020 64617461 *UDP data *-----------------------------------------------------------3172 00010100 03/26 13:03:50.827670 INPUTToken Ring:Offset=0, Next=316, Data Len=316, Adapter=1Access Control=10, Frame Control=40Destination=FF.FF.FF.FF.FF.FF, Source=92.34.56.78.9A.BCControl Byte 1=06, Control Byte 2=B0Segments:1234 5678Dsap=01, Ssap=02, Ctl=03ProtType=0800 (IP)IP:Src=192.120.80.9, Dst=9.12.120.110, TotLen=281, Prot=6, Id=38827Vers=4, Hdr Len=20, TOS=0, TTL=60, Offset=0(0), Cksum=68C0TCP:13:03:50.827670 9.12.120.110:9 <-- 192.120.80.9:1234Ack:2 Seq:1,242(241) Urg PshHdrLen=20, Win=2048(2050), UrgPtr=2(3), Cksum=9BAC, Flags=28DATA +0000 54686973 20697320 41534349 49203031 *This is ASCII 01*+0010 00000000 00000000 00000000 00000000 *................*+0020 00000000 00000000 00000000 00000000 *................*+0030 00000000 00000000 00000000 00000000 *................*+0040 00000000 00000000 00000000 00000000 *................*+0050 00000000 00000000 00000000 00000000 *................*+0060 00000000 00000000 00000000 00000000 *................*+0070 00000000 00000000 00000000 00000000 *................*+0080 00000000 00000000 00000000 00000000 *................*+0090 00000000 00000000 00000000 00000000 *................*+00A0 00000000 00000000 00000000 00000000 *................*+00B0 00000000 00000000 00000000 00000000 *................*+00C0 00000000 00000000 00000000 00000000 *................*+00D0 00000000 00000000 00000000 00000000 *................*+00E0 00E38889 A24089A2 40C5C2C3 C4C9C340 *.This@is@EBCDIC@*+00F0 F0 *0 *-----------------------------------------------------------ICMP Format
This example shows the output formatted for ICMP filtering.
3172 00010100 03/26 13:06:16.977131 INPUTICMP:Destination Unreachable,_ Cksum=5D52Code=1 (Hos )IP:Source=192.120.99.4, Dest=9.12.99.5, Proto=6, Tot Len=200Vers=4, Hdr Len=36, TOS=0, TTL=60, Id=1234, Offset=0, Cksum=68C0-----------------------------------------------------------3172____ 00010100 03/26 13:06:16.978076 INPUTICMP:Source Quench, Cksum=5D52IP:Source=192.120.99.4, Dest=9.12.99.5, Proto=6, Tot Len=200Vers=4, Hdr Len=36, TOS=0, TTL=60, Id=1234, Offset=0, Cksum=68C0-----------------------------------------------------------TRACE
Cisco IOS for S/390 contains enhancements to the IBM MVS Component Trace facility to provide a method of collecting TCP/IP data and displaying it on a terminal or sending it to an external writer. Additional JCLs are required to enable the Component Trace enhancements. To use Component Trace as a TSO command, read TCPEEP.
MVS Component Trace
MVS Component Trace is a diagnostic aid used to trace the action of certain system components and third party components that define themselves to Component Trace. The TRACE operator command is used to start, stop and control the component trace. For more information on the MVS TRACE command, see the IBM MVS System Commands.
Trace Address Space
Component Trace is defined in its own address space and collects trace data for trace points defined in other address spaces. Likewise, the other address spaces must identify the Component Trace address space for the data collection. Multiple occurrences of Component Trace can be active at the same time, each with a unique subsystem ID.
For each address space, IJTCFGxx in the PARM member defines the subsystem ID. The definition is specified using the TRACENAME keyword on the IFSPARM statement as follows:
IFSPARM PROMPT VMCFNAME( VMCF ) TRACENAME( ACTR ) NOPROMPT
In the example, the trace data in the address space is directed to the Component Trace address space with a ACTR subsystem ID.
Note If the Trace Address Space is brought up after the TCP stack, there may be a delay of 2 minutes before events are traced.
Exit
MVS Component Trace requires an exit to communicate with the tracing component. The exit, T03PTRSS, must reside in LPALIB or the Link List; it is distributed in the LINK library.
The Component Trace subsystem ID is defined with the UNIQ= keyword which is part of the parameter string specified on the JCL EXEC PARM= statement. Normally the value for the UNIQ= keyword is specified on the SSN= keyword of the PROC statement as shown below:
//ICSTRACE PROC TRGINDX=trgindx, TARGET LIBRARIES DSN INDEX
// SSN=ACTR, DFLT SUBSYSTEM NAME// SOUT='X', CHOOSE A HOLD NONPURGE SYSOUT CLASS// CMND=STARTTR DFLT STARTUP COMMAND SCRIPT NAME//*//TRACE EXEC PGM=IFSSTART,REGION=6144K,TIME=1440,// PARM='IFSINIT,UNIQ=&SSN,PRFX=T03,SOUT=&SOUT,CMND=&CMND'External Writer
The collected trace data is written to DASD or TAPE using an External Writer. A suitable External Writer Cataloged Procedure for use with Component Trace may already be defined on your system. For more information on defining an External Writer used with Component Trace, see the IBM publication - MVS Diagnosis: Tools and Service Aids.
TRACE Command
The TRACE command starts, stops, modifies, or displays the status of a system trace, master trace, or component trace.
The TRACE command is a standard MVS operator command.
TRACE [CT {[, ON | OFF] [, COMP=name] [, PARM=mem]}]
[CT {[, WTRSTART=mem_name[,WRAP | NOWRAP]]}]
[CT {, WTRSTOP=job_name}]]
Syntax Description
ON
Turns on tracing for a component if the component trace is currently off. If the component trace is on and can be changed, this changes the trace options.
OFF
Turn off tracing for the component. If the component is connected to an external writer, the trace is implicitly disconnected from the writer.
COMP=name
Identifies the component trace with the subsystem ID for the Trace address space. This is required for each TRACE command.
PARM=mem
Identifies a member of SYS1.PARM or a data set in the system parmlib concatenation containing the parameters used for tracing. Using a parmlib member allows the operator to initiate the trace, change it, or stop it without a message prompting for parameters. Parameters specified on the TRACE command override the options specified in the parmlib member. The parameters are described in the section TRACE Command Reply.
WTRSTART=
mem_name
Identifies the member containing the JCL to invoke an external writer and opens the data sets used by the external writer. The member must be a SYS1.PROCLIB cataloged procedure or a job. After starting the external writer, use the WTR parameter to connect the component trace to the external writer.
WRAP | NOWRAP
Using the NOWRAP parameter, instructs the system to stop writing data to a data set when the data set is full. With the WRAP parameter, when the data set or group of data sets is full, new data over-writes the oldest data at the start of the data set or the start of the first data set.
If the WTRSTART parameter on the TRACE CT command specifies NOWRAP, the system uses the primary and secondary extents of the data set or sets. If the WTRSTART parameter specifies WRAP or omits the parameter, the system uses only the primary extent or extents.
WTRSTOP=
job_name
Disconnects the external writer from the component trace and closes the data sets used by the external writer. The jobname is the member name if the source JCL is a procedure, or a Job name if defined on a JOB statement within the source JCL.
Before stopping the external writer, turn the component trace off with TRACE CT,OFF or disconnect the external writer with WTR=DISCONNECT.
TRACE Command Reply
In response to a TRACE CT,ON command without the PARM parameter, the system prompts you to specify the component trace options. Use the REPLY command to respond.
R id[,ASID=(nnnn [,nnnn]...)]
[,CONT |,END]
[,JOBNAME=(name [,name]...)]
[,OPTIONS=(option [,option]...)]
[,WTR={mem_name | DISCONNECT}]
Syntax Description
id
Use the same identification number (0-9999) from the message to identify the reply.
ASID=
(nnnn [, nnnn]...)
Specifies the address space identifiers (ASIDs) of address spaces used as a filter for tracing. Events in the ASIDs are recorded by the component trace.
The parameter contains a list of 0 to 16 hexadecimal ASIDs separated by commas. An empty ASID list, ASID=(), turns off filtering by address spaces. In the ASID parameter, list all address spaces to be traced. Address spaces for previous traces are not traced unless listed.
CONT or END
The CONT parameter continues the reply on another line. The system issues another reply message. You can then continue the reply and repeat any parameters on the continuation line, except END. Repeated parameters are strung together, they do not overlay each other. The END parameter identifies the end of the REPLY.
CONT or END must be the last parameter on the input line.
JOBNAME=
(name [ , name] ... )
Names of jobs used as filters for tracing. Events in these jobs are recorded by the component trace.
The parameter contains a list of 0 to 16 job names separated by commas. An empty job list, JOBNAME=(), turns off filtering by jobs. In the JOBNAME parameter, list all jobs to be traced. Jobs specified for previous traces are not traced unless listed.
OPTIONS=(option [ , option] ... )
Specifies the component trace options described in the section TRACE Command Reply Options.
WTR= mem_name | DISCONNECT
The membername identifies the member containing the source JCL that invokes the external writer. The member must be a SYS1.PROCLIB cataloged procedure or a job. The membername in the WTR parameter must match the membername in the TRACE CT,WTRSTART command.
WTR=DISCONNECT disconnects the external writer. The component continues tracing and placing the trace records in the address-space buffer, but stops passing trace records to the external writer.
You must also specify a TRACE CT,WTRSTART or TRACE CT,WTRSTOP command to start or stop the writer.
TRACE Command Reply Options
Use the Options parameter in response to the Reply prompt.'
OPTIONS= [BUFFERS(size,num)] [BUFFTIME(time)] [DATASIZE(dsize)]
[DNRSSID(ssid)] [GROUPS(( group[, 'filter'])...)] [HALT]
[INSTANCE(inst)] [STATUS] [TRACESIZE(tsize)] [WRAP]
[NOWRAP]
Syntax Description:
BUFFERS (size,num)
Size of the trace buffers in kilobytes and/or the number of buffers. size may be a value between 64 and 1024 with the default being 256. num may be a value between 2 and 128 with the default being 4. BUFFERS can only be specified for a new Trace Instance. BUFFERS is optional and may only be specified when creating a trace instance. If specified when modifying a trace instance, it is ignored.
BUFFTIME( time )
Buffer timeout interval in seconds. At the end of each interval, if the current buffer contains data but is not full, a buffer flush operation is initiated. BUFFTIME is optional and is considered only when creating a trace instance.
This parameter can be used to force a buffer switch so you don't have to wait for the entire buffer to fill to see trace data.
Range: 0 - 99999
Default: 10
DATASIZE(dsize)
Specifies the maximum size of a trace record in kilobytes. Trace records that exceed the specified value are truncated. DATASIZE is optional and may only be specified when creating a trace instance. If specified when modifying a trace instance, it is ignored. If the specified maximum size exceeds the largest supported trace record size (64K less control headers), then the specification has no effect.
Default: Any size record will be recorded (up to the maximum IBM limit of 64K less control headers.)
DNRSSID(ssid)
Specifies the subsystem ID of the address space to be used for name resolution by the GROUPS filtering process. Specification is ignored if GROUPS with filter parameters is not specified.
Default: ACSS
GROUPS(
(group [ , 'filter'])...
)
Trace group or groups for which data is collected and optionally a filter parameter for each group. Use GROUPS parameter to limit the amount of data collected. Used with INSTANCE to modify an existing trace instance, either adds a new group to the trace instance or replaces an existing group for the trace instance. Once added, a group cannot be removed from the active trace instance.
groupid - selects the type of data to collect: NETIF or TLI.
•NETIF is a network interface with the following filter options:
–HOST—up to 16 IP HOST addresses (names), for TLI group only
–PORT—up to 16 port numbers (names), for TLI group only
–PROTOCOL—a single protocol (for example, UDP)
–TYPE(type) for NETIF can be one of the following:
TYPE(IP)—if datagram is an IP packet, then keep it
TYPE(ARP)—if datagram is an ARP packet, then keep it
TYPE(ALL)—keep all datagrams (same as not specifying the filter)
There are no defaults for filters; everything is collected by default.
•TLI is a collection of trace points in the stack for processing TLI activity with the following filter options:
–HOST—up to 16 IP HOST addresses (names)
–PORT—up to 16 port numbers (names)
–UASID(asid,...,asid)—takes one to 16 asids, which refer to jobs using the TLI function
–USER(jobname,..,jobname)—takes one to 16 jobnames, which refer to jobs using the TLI function
Refer to the section Useful TCPEEP Commands for usage of the GROUPS parameter.
Default: NETIF
HALT
HALT specifies that the trace instance identified by the INSTANCE keyword is to be stopped. If HALT is specified, INSTANCE must be specified. If the INSTANCE is connected to an external writer, WTR=DISCONNECT must also be specified.
INSTANCE (inst)
Modify or stop a trace instance. inst is the component trace address space ID. A new trace instance is created if inst is not specified.
STATUS
Display all active trace instances. If STATUS is specified, any other keywords are ignored.
TRACESIZE(tsize)
Maximum number of trace records to be recorded. If not specified, there is no limit to the number of records recorded. TRACESIZE is optional and may only be specified when creating a trace instance. If specified when modifying a trace instance, it is ignored.
WRAP
Create an in-memory WRAP trace. Not valid with WTR=mem_name, nor can the instance be modified later to specify WTR=mem_name. This is the default if NOWRAP is not specified and WTR=mem_name is omitted.
NOWRAP
Create a NOWRAP trace. This is the default if WTR=mem_name is specified. The external writer writes the buffers when they fill up and after being written are reused. This option is for the Trace Address space and should not be confused with WRAP|NOWRAP on the TRACE CT command, which is for the IBM writer.
Comparing TCPEEP and MVS TRACE Syntax
The syntax for commands using TCPEEP differ from those used with the MVS TRACE facility.
OPTIONS
To use MVS TRACE to specify NETIF and PROTOCOL(UDP), you need to specify:
OPTIONS = (GROUPS ((NETIF, `PROTOCOL (UDP)')))
This is the same as the TSO TCPEEP command:
TCPEEP GROUPS ((NETIF, 'PROTOCOL (UDP)'))
JOBNAME
To specify JOBNAME using the MVS TRACE command, the syntax is
JOBNAME = (jobname1, ..., jobname16)
When using TCPEEP the syntax is
TCPEEP JOBNAME (jobname1, ..., jobname16)
For more information about TCPEEP, read TCPEEP.
Trace Command Examples
The following examples demonstrate the control of the T03 Trace Facility using the MVS TRACE command. The examples assume a T03 Trace Facility is active and is using a Subsystem ID of ACTR.
Starting a Trace Instance
In this example a new trace instance is created. The instance is limited to tracing 10000 records for group id NETIF from address space TCP51.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(GROUPS(NETIF) TRACESIZE(10000)),JOBNAME=(TCP51),END
Where xx ITT006A specifies the TRACE CT command operand. The resulting message is:
T03TR909I Trace start successful Instance(01)Modifying a Trace Instance
In this example an existing trace instance is modified. The trace instance is changed to include records for group id API.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(INSTANCE(1) GROUPS(TCP)),END
Where xx ITT006A specifies the TRACE CT command operand. The resulting message is:
T03TR911I Trace modify successful Instance(01)Displaying Trace Status
In this example the status of the trace instances is displayed.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(STATUS),END
Where xx ITT006A specifies the TRACE CT command operand. The resulting message is:
T03TR916I Instance(01) Active, records=23,745T03TR916I Instance(02) Active, records=1,576Stopping a Trace Instance
In this example an existing trace instance is stopped.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(INSTANCE(1) HALT),END
Where xx ITT006A specifies the TRACE CT command operand. The resulting message is:
T03TR910I Trace shutdown successful Instance(01)Stopping all Trace Instances
In this example all existing trace instances are stopped.
TRACE CT,OFF,COMP=ACTR
T03TR910I Trace shutdown successful Instance(01)T03TR910I Trace shutdown successful Instance(02)Starting an External Writer
In this example an external writer is started. T03XWTR is the name of a pre-defined started task.
TRACE CT,WTRSTART=T03XWTR
Starting a Trace Instance and connecting an External Writer
In this example a new trace instance is created and connected to an external writer. Only one instance can have an external writer connected.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(GROUPS(NETIF)),WTR=T03XWTR,END
Where xx ITT006A specifies the TRACE CT command operand. The resulting message is:
T03TR909I Trace start successful Instance(01)Modifying a Trace Instance to connect an External Writer
In this example an existing trace instance is connected to an external writer. Only one instance can have an external writer connected.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(INSTANCE(1)),WTR=T03XWTR,END
Where xx ITT006A SPECIFY OPERAND(S) FOR TRACE CT COMMAND. The resulting message is:
T03TR911I Trace modify successful Instance(01)Modifying a Trace Instance to disconnect an External Writer
In this example an existing trace instance is disconnected from an external writer.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(INSTANCE(1)),WTR=DISCONNECT,END
Where xx ITT006A specifies the TRACE CT command operand. The resulting message is:
T03TR911I Trace modify successful Instance(01)Stopping a Trace Instance and Disconnecting an External Writer
In this example an existing trace instance is to be stopped and disconnected from an external writer.
TRACE CT,ON,COMP=ACTR
R xx,OPTIONS=(INSTANCE(1) HALT),WTR=DISCONNECT,END
Where xx ITT006A specifies the TRACE CT command operand. The resulting message is:
T03TR910I Trace shutdown successful Instance(01)Stopping an External Writer
In this example an external writer is stopped. The writer must be disconnected from a trace instance before the it can be stopped.
TRACE CT,WTRSTOP=T03XWTR
Processing Trace Data
In order to process the data collected with the TRACE command, use the CTRACE command of IPCS. It handles trace data that is in the MVS Component Trace Entry (CTE) format. By collecting trace data in this format, it is possible to use the facilities of IPCS to format the trace data. IPCS exit routines need to be written to locate trace records in dumps, filter trace records, and drive trace record formats.
TRACERT
The TRACERT (trace route) TSO diagnostic command prints the route that packets take to get to a network host. TRACERT utilizes the IP protocol time-to-live field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to some host. The only required parameter is the host name or IP address.
Note To use the TRACERT command, you must PROTOCOL(RAW) defined in your TCPCFGxx member. TRACERT requires the SAS/C Transient Library modules that are supplied in the LOAD/SASLOAD data set. This library is required in either your LOGON procedure or BATCH job STEPLIB DD.
TRACERT [-drv] [data_size] [-g gateway] host [-m max_ttl] [-p port#] [-q nqueries]
[-s src_addr] [-n] [-t ts] [-w wait] [-x subsysid]
Syntax Description
Usage Guidelines
To trace the route an IP packet travels to an internet host, TRACERT launches UDP probe packets with a small TTL, then listens for an ICMP time exceeded (TIME_EXCEEDED) reply from a gateway. Probes are started with a TTL of 1 and are incremented by 1 until an ICMP port unreachable message (UNREACHABLE) is returned, which means the host was reached, a maximum number of hops is exceeded, or timeout is exceeded. Three probes are sent for each TTL setting.
Example
The following example shows the output from a TRACERT command.
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 msA line is displayed showing the TTL, gateway address, and round trip time of each probe. If answers come from several gateways, the address of each system is displayed. If no response is received in the 3 second timeout period, an asterisk (*) is displayed for that probe.
The following list describes some possible notations:
!
An exclamation point following the time indicates the TTL is less than or equal to 1
H
Host unreachable received
N
Network unreachable received
P
Protocol unreachable received
Note TRACERT is useful for network testing, measurement, and management and should be used primarily for fault isolation. It can impose a load on the network and should not be used during normal operations or from automated scripts. Source for the UNIX program traceroute and many BSD socket applications can be obtained via anonymous FTP from Internet host gatekeeper.dec.com.