1 TCPIP The TCPIP verb prefixes all of the TCPIP (TCP/IP Services for OpenVMS) SDA extension's commands. Format: TCPIP [qualifiers] TCPIP SEARCH ... TCPIP SHOW ... TCPIP SYSCONFIG ... TCPIP TAG ... Additional information about the TCPIP extension can be found under the `About_TCPIP$SDA' topic. 2 About_TCPIP$SDA TCP/IP Services for OpenVMS Network Analysis Tool. This facility assists skilled system programmers in the analysis and debugging of TCP/IP network problems on running systems or crash dump files. This tool is compatible with TCPIP V5.1-5E and better only. 2 Development_Qualifiers TCPIP /ACP /DATA /ECO_LEVEL=string /NOECO_LEVEL /FILES=location /LIST /NFS /PROXY /PWIP /TELNET /VERSION=string These qualifiers are specifically for use by members of the TCP/IP Services for OpenVMS Development Group. The qualifiers are used to be able to identify the driver which is present in the dump file. Once identified, the appropriate symbol table files can be read into SDA in order to provide TCPIP analysis support. 3 /ACP /ACP Directs TCPIP to load the TCPIP$INETACP symbols for debugging. By default, the symbols are not automatically loaded. 3 /DATA /DATA /NODATA The /DATA qualifier is used to enable data display mode by default. Certain commands are able to display data present in buffers and/or silos. In order to reduce the amount of information on the screen, these commands do not display this data by default. They do, however, have the /DATA qualifier to enable such output. The /DATA qualifier, when used on the TCPIP command WITHOUT a command verb, will enable (or disable) the default /DATA qualifier. 3 /ECO_LEVEL /ECO_LEVEL=characters /NOECO_LEVEL The /ECO_LEVEL qualifier is used to select the specific ECO when reading the appropriate symbol table files. It is used in conjunction with the /VERSION qualifier. If /ECO_LEVEL is absent from the command line, the tool will search the patch and build areas for symbol table files which match the link date and time of the loaded driver. If you wish to select the version from the base directory (i.e. the SSB kit), you should enter the /NOECO_LEVEL qualifier. 3 /FILES /FILES=location By default, the appropriate image and symbol files are read from SYS$SYSTEM:. If you are diagnosing a problem using a dump from a different set of files, you may optionally specify the location of the collection of matching files. Note that the following files must be in that location: TCPIP$INTERNET_SERVICES.STB TCPIP$INETACP.STB TCPIP$NET_GLOBALS.STB TCPIP$NFS_GLOBALS.STB (/NFS only) TCPIP$NFS_SERVICES.STB (/NFS only) TCPIP$PROXY_GLOBALS.STB (/PROXY only) TCPIP$PROXY_SERVICES.STB (/PROXY only) PWIPDRIVER.STB (/PWIP only) TCPIP$PWIP_GLOBALS.STB (/PWIP only) TCPIP$TNDRIVER.STB (/TELNET only) TCPIP$TN_GLOBALS.STB (/TELNET only) 3 /LIST The /LIST qualifier is used to display the selected driver symbol table files with their link date and times. This is most useful when the loaded driver doesn't exactly match one which is present in the build hierarchies. The version closest can then be selected with the appropriate /ECO_LEVEL (or /NOECO_LEVEL) qualifier 3 /NFS Directs TCPIP to load the NFS and VFS execlet symbols for NFS and VFS debugging. By default, the symbols are not automatically loaded. 3 /PROXY Directs TCPIP to load the PROXY_SERVICES symbols for debugging. By default, the symbols are not automatically loaded. 3 /PWIP Directs TCPIP to load the PWIPDRIVER symbols for debugging. By default, the symbols are not automatically loaded. 3 /TELNET Directs TCPIP to load the TNDRIVER symbols for debugging. By default, the symbols are not automatically loaded. 3 /VERSION The /VERSION qualifier is used to select a specific build hierarchy present on development systems. The format for the /VERSION qualifier is xn.m. This string is transliterated into TCPIPxnm$:. The build platform and version are automatically determined from the dump or system being analyzed. If the matching image cannot be identified, the /LIST qualifier can be used to show images from which you can select. 2 SEARCH Searches memory allocated by the internet driver for the specified value. To search outside of this memory, use the SDA SEARCH command instead. Format: TCPIP SEARCH value /LENGTH=LONGWORD /STEPS=BYTE 3 Parameters value The hexadecimal value sought. The value is enterpreted according to the /LENGTH qualifier. By default, the value is assumed to be a longword. 3 Qualifiers /LENGTH /LENGTH=BYTE /LENGTH=LONGWORD (default) /LENGTH=WORD Specifies the size of the value sought -- byte, word, or longword. Often looking at the value one cannot tell: is 7 to be handled as byte 07, word 0007 or longword 00000007. /STEPS /STEPS=BYTE (default) /STEPS=LONGWORD /STEPS=QUADWORD /STEPS=WORD Specifies the granularity of the search. By default, the search is performed on byte boundaries. Note that the internet driver allocates memory on quadword boundaries, so the granularity also implies a degree of alignment. 2 SHOW Displays information which pertains to the specific area of interest. Format: TCPIP SHOW ARP TCPIP SHOW DEVICE_SOCKETS TCPIP SHOW INETCB TCPIP SHOW MBAGS TCPIP SHOW MBUFS TCPIP SHOW MEMORY TCPIP SHOW MOUNT TCPIP SHOW NFS TCPIP SHOW PROXY TCPIP SHOW ROUTES TCPIP SHOW SUBSYSTEMS TCPIP SHOW THREADS TCPIP SHOW VCI TCPIP SHOW VERSIONS TCPIP SHOW VNODES 3 ARP Displays the content of the IPv4 Address Resolution Protocol (ARP) table. The table is used to provide hardware addresses for datagrams targeted for hosts on the same LAN. Format: TCPIP SHOW ARP [hostname] /ALL /LOCAL 4 Parameters hostname Name of the host whose ARP entry is sought. The host's IPv4 address is used when searching the ARP table. 4 Qualifiers /ALL Displays the content of each ARP entry whether it is a valid entry or not. The content of invalid entries could be meaningless and is only shown for debugging purposes. /LOCAL Disables the translation of host addresses to names. 3 DEVICE_SOCKETS Displays information concerning BG devices and their associated sockets. Format: TCPIP SHOW DEVICE_SOCKETS [ device_name ] /FULL /HOST=address /PORT=number /QUEUES=(ALL,MISCELLANEOUS,RECEIVE,SEND) [/DATA] /SERVICE=name /TYPE=(DGRAM,RAW,SELECT,STREAM) 4 Parameters device_name BG device name of the device in which to display. Note that some BG devices may not have sockets associated with them and a message will be shown to that affect. A hexidecimal address can be substituted for the device name, providing the address belongs to a BG device. 4 Qualifiers /DATA The /DATA qualifier, when used in conjunction with the /QUEUES qualifier, will display the data content of the MBUF list. By default, the data is not shown. /FULL The basic SHOW DEVICE_SOCKETS display includes the device name, socket type, the local and remote ports, the name of service (as determined by referring to the SERVICES database), and the address of the remote host (for connections). The /FULL qualifier also displays information about the socket buffer settings, queue information, options and I/O statistics. /HOST=address Displays information for devices which are connected to the specified remote host only. By default, all hosts are shown. The host may be specified by its address or its name. If you wish to see INADDR_ANY, use the IPv6 in6addr_any expression, "::". /PORT=number Displays information for devices which have been bound to the specified local port only. By default, all ports are shown. /QUEUES /QUEUES=ALL (default) /QUEUES=([MISCELLANEOUS] [,RECEIVE] [,SEND]) Shows, in addition to the /FULL output display, the content of various queues associated with the device. /QUEUES=ALL Equivalent to /QUEUES=(MISCELLANEOUS,RECEIVE,SEND) /QUEUES=MISCELLANEOUS Displays the queue of non-READ/WRITE IRPs which are outstanding on the socket. /QUEUES=RECEIVE Displays the queue of IO$_READLBLK/IO$_READVBLK IRPs which are outstanding on the socket. Displays information for all MBUFs present on the socket in the RCV queue. /QUEUES=SEND Displays the queue of IO$_WRITELBLK/IO$_WRITEVBLK IRPs which are outstanding on the socket. Displays information for all MBUFs present on the socket in the SND queue. /SERVICE=name Displays information for devices which are connected to ports which provide the specified service only. By default, all ports are shown. /TYPE=(DGRAM,RAW_IP,SELECT,STREAM) Selects the socket types whose information is to be displayed. Note that the socket type SELECT is a utility device used to perform select() operations on a set of other socket devices. Note that RAW_IP sockets do not have address information. 3 INETCB Displays information about the INETCB (Internet Control Block). Format: TCPIP SHOW INETCB 4 Qualifiers /ALL /[NO]FILTER /FULL Displays more complete information about the INETCB, such as timer queue elements. /[NO]LOG /[NO]MEMORY /[NO]SERVICES /[NO]SLIP /[NO]STATISTICS 3 MBAGS Displays information about MBuf Allocation Groups (MBAGs). Format: TCPIP SHOW MBAGS /DATA 4 Qualifiers /ALL /NOALL (default) Includes free MBUFs in the data display. By default, contents of free MBUFs are not shown. /DATA /NODATA (default) Displays the data content for all non-free MBUFs in the MBAG lists. To include free MBUFs, add the /ALL qualifier. 3 MBUFS Displays the content of an MBUF, a set of MBUFs, or a chain of MBUFs. 4 Qualifiers /DATA /NODATA (default) Displays the data content of the MBUF in its appropriate format. NOTE: The format can be overridden with the /TYPE qualifier. /CHAIN Indicates that the display is to include the subsequent MBUFs in the MBUF chain. This MBUF is assumed to be the first one in the chain. /TYPE=value /TYPES Overrides the MBUFs default type. This is useful when the content of the MBUF doesn't appear to make any sense. Specifying /TYPE=ALL will display the same MBUF in all formats which the SDA extension is capable of enterpreting. For information on the MBUF types, use the /TYPES qualifier. This will display all types supported by this specific kernel. 3 MEMORY Displays the content of the allocated memory list. Memory blocks which are allocated using a personal vector will appear with an asterisk (*) after the address of the MALLOC_HDR. Format: TCPIP SHOW MEMORY /ALL /BACKWARDS /DATA /ORDERED /PC /SUMMARY /TYPES 4 Qualifiers /ALL When included with the /SUMMARY qualifier, a summary line for ALL allocation types is shown. By default, allocation types which are not in use (i.e. have a count of zero) are not shown. This display is useful for matching allocation type codes with corresponding allocation type names. /BACKWARDS Follows the memory list in the reverse direction, that is, from the last entry to the first. This is useful when the memory list has been corrupted somewhere in the middle. By default, the list is examined from the front of the list to the end of the list in the forward direction. /DATA Includes the content of the allocation in the display. By default, the content is not included. Note that the content of an allocation is rounded to a 32-byte boundary, and is fully displayed. If the structure allocated is smalled than the full 32-byte boundary, the additional space should be ignored. /ORDERED Displays the memory list in ascending address order. This is useful when attempting to find proximity-related problems. By default, the list is displayed from the front to the end of list in temporal order. /SUMMARY Displays a summary report on memory allocation. Each allocation type is displayed with its name, the number of allocations and the total sizes of the allocations in hexadecimal and decimal. Note that the allocation sizes do not include the allocation header used by the internet driver to record the allocations. The /TYPE qualifier can be used with the /SUMMARY qualifier to limit the report to a particular allocation type. /PC=allocator_pc Selects those memory blocks allocated by a call from a particular PC. /TYPE=type_name /TYPE=type_value /TYPES Limits the default (full) or summary report to allocations of a specific type. For the valid allocation types, obtain a list by specifying the /TYPES qualifier without a value, as follows: TCPIP SHOW MEMORY /TYPES 3 MOUNT Displays the content of the NFS server's internal mount list. Format: TCPIP SHOW MOUNT [address|"/name"] /DEBUG /FULL 4 Parameters address The address of the mount structure to be displayed. By default, all mount entries are displayed. name The quoted name of the mount point to be displayed. By default, all mount entries are displayed. NOTE: The name is case sensitive and includes the leading shash character. It is therefore necessary to quote the string 4 Qualifiers /DEBUG Displays internal information about the mount structure. /FULL Displays more complete information about the entry or entries in the list. By default, simple information is displayed. 3 NFS Displays information about the NFS server, if it is loaded. Format: TCPIP SHOW NFS /DUPLICATES /INPUT /SPINLOCKS In order to use this command, the NFS symbols must be loaded. For Alpha, use the following commands: READ /IMAGE SYS$SYSTEM:TCPIP$NFS_SERVICES READ SYS$SYSTEM:TCPIP$NFS_GLOBALS For VAX, use the following commands: READ /RELOCATE=TCPIP$NFS_SERVICES SYS$SYSTEM:TCPIP$NFS_SERVICES READ SYS$SYSTEM:TCPIP$NFS_GLOBALS 4 Qualifiers /DUPLICATES Displays the content of the duplicate request cache. These are copies of the active as well as cached non-idempotent operation responses. Non-idempotent operations are those which could not be executed twice and return the same result. The following operations are non-idempotent: CREATE (create a file or special file) LINK (create a hard link) MKDIR (create a directory file) REMOVE (delete a file or special file) REMDIR (delete a directory) RENAME (rename a file, special file or directory) SYMLINK (create a symbolic link) UNLINK (delete a hard link) /INPUT Displays the content of the NFS server's pending request input queue. Requests to the NFS server are queued to this queue directly by the TCP/IP network kernel at IPL 8. Threads in the NFS kernel process these requests as they become available. The queue's length is limited to a specific size (determined at NFS start time, it is related to the number of UDP threads). Requests on the input queue are UDP only. /SPINLOCKS Displays the current status of the various NFS spinlocks. The locks are used in a multiprocessing system to synchronize the access to certain lists within the NFS server. 3 PROXY Displays the content of either INETACP's proxy cache, or the cache maintained in TCPIP$PROXY_SERVICES. Format: TCPIP SHOW PROXY /ACP_BASED /ALL /FULL /HOST_ADDRESS /LOCAL_USERNAME /REMOTE_USERNAME In order to use this command with the /ACP_BASED qualifier, you MUST first set SDA's process context to the INETACP using the SDA command: SET PROCESS TCPIP$INETACP In order to display entries in TCPIP$PROXY_SERVICES, you must relocate SYS$SYSTEM:TCPIP$PROXY_SERVICES and read the symbols file SYS$SYSTEM:TCPIP$PROXY_GLOBALS.STB. 4 Qualifiers /ACP_BASED Displays communications proxies loaded into TCPIP$INETACP. By default, proxies loaded into TCPIP$PROXY_SERVICES are shown. /ALL Displays the internal information from all of the proxy caches, namely the host address, local username and remote username caches. The content of the proxy header is shown as well. By default, an abbreviated version of the output generated by the /REMOTE_USERNAME qualifier is shown. /FULL Displays host, local and remote user information in addition to the proxy correlation record summary. This qualifier applies to proxies in TCPIP$PROXY_SERVICES only. /HOST_ADDRESS Displays the internal information of the host address proxy cache. /LOCAL_USERNAME Displays the internal information of the local username proxy cache. /REMOTE_USERNAME Displays the internal information of the remote username proxy cache. 3 ROUTES Displays information from both the host and network route databases. Format: TCPIP SHOW ROUTE /DEBUG /FAMILY 4 Qualifiers /DEBUG Includes the addresses of the various structures as well as some of the raw interpretation data. /FAMILY /FAMILY /FAMILY=INET /FAMILY=INET4 /FAMILY=INET6 /FAMILY=UNSPECIFIED Displays routing information about the appropriate address family. Note that INET includes both INET4 and INET6. 3 SUBSYSTEMS Displays the subsystems currently registered for the INTERNET_SERVICES Kernel Extension Module interface. Format: TCPIP SHOW SUBSYSTEMS /DEBUG /FULL 4 Qualifiers /DEBUG Reveals address information for advanced programmers. /FULL Displays full information about the registration. By default, only the module number, subsystem name, description, identification, active and total IRPs processed are displayed. 3 THREADS Displays information about the Unix-emulation threads used within TCP/IP. Format: TCPIP SHOW THREADS [address] /DEBUG /FULL 4 Parameters address Optional parameter which selects a particular thread. By default, all threads will be found in the memory list and displayed. 4 Qualifiers /DEBUG Displays internal debug information about the thread. By default, only summary information about the thread is shown. /FULL Displays more complete information about the threads. By default, only summary information about the thread is shown. 3 VCI Shows the active VCI ports present against the internet kernel. Format: TCPIP SHOW VCI /DEBUG /FULL 4 Qualifiers /DEBUG Includes structure address information in the display. /FULL Includes the port associations which are active for each port. By default, this information is not displayed. 3 VERSIONS Shows the current TCPIP version, the files loaded by TCPIP$SDA for diagnosis and, if supported, the last 20 TCPIP start times. Format: TCPIP SHOW VERSIONS /ALL /IMAGES /TIMES 4 Qualifiers /ALL Displays information for both the images and start times. /IMAGES Displays information about the driver and symbol table files which TCPIP$SDA is using for its displays. /TIMES TCPIP may have been started and stopped several times during the system's uptime. Beginning with TCPIP V6.0, the last start time and up to 20 previous start times are recorded in the network driver. 3 VNODE Displays information about one or all VNODEs managed by the NFS server. Format: TCPIP SHOW VNODES [address] /DEBUG /FULL 4 Parameters address The optional address of the VNODE to be shown. By default, all VNODES will be found in the memory list and displayed. 4 Qualifiers /DEBUG Displays internal debugging information about the VNODE. By default, only summary information is shown. /FULL Displays more complete information about the VNODE. By default, only summary information is shown. 2 SYSCONFIG Displays subsystem configuration information. This information is in the form of parameters which are used by the subsystem as SYSGEN parameters are used by the OpenVMS operating system. Format: TCPIP SYSCONFIG Note: The sysconfig command of the TCPIP utility program accepts a flag option which selects configure, query, reconfigure, and unconfigure (among others). The SDA sysconfig command is automatically a query command and therefore does not offer the flag option (since parameters can only be queried). 3 subsystem The name of the subsystem whose parameters are to be displayed. The subsystem name is one of: INET - Internet network-specific parameters NET - General network parameters SOCKET - Socket-specific parameters Other subsystems may have been loaded by sysconfig (for example, NFS and VFS). To display a complete list of dynamically loaded subsystems, use the TCPIP SHOW MODULES command. 2 TAG Scans the specified object(s) of the internet driver and associate a name with each object found. Format: TCPIP TAG {ALL, MEMORY, STRUCTURES} /LIST It is not recommended that this command be used on active systems as the driver's allocations and data structures is continuously changing. 3 ALL Tags MEMORY and STRUCTURES for identification. 3 MEMORY For the MEMORY tag, the generated name has the format _name$address, where `name' is the structure's name and `address' is its address. For example, the SONAME structure at 80423700 will have the name `_SONAME$80423700' associated with it. To see all structures of a particular type, use the SDA SHOW SYMBOL /ALL command (this command shows all socket structures present after the TAG command is used): SDA> SHOW SYMBOL _SOCKET$/ALL 3 STRUCTURES Scans the various structures and generates a name for each structure depending upon its type. The generated name has the format `_type$device', where `type' is the structure's type and `device' is the device it is associated with. For example, the UCB and socket structure for the device BG5040: would create symbols named `_INET_UCB$BG5040' and `_SO$BG5040'. To format the object, use a command such as: FORMAT /TYPE=type symbol For example: FORMAT /TYPE=INET_UCB _INETUCB$BG5040 FORMAT /TYPE=SO _SO$BG5040 4 Qualifiers /LIST Displays the names as they are generated.