How to use the TCPIP debug SET commands

(Last modified: 06Jun2003)

This document (10013542) is provided subject to the disclaimer at the end of this document.

goal

How to use the TCPIP debug SET commands

fact

Novell NetWare IP 2.2

Novell TCPIP 3.x 

Novell TCPIP 4.x

Novell TCPIP 5.x

Novell TCPIP 6.x

Formerly TID 2928543

fix

The following SET commands are only to be used at the request of Novell Technical Support engineers. Some of the SET commands perform a large number of disk I/Os and will effect server performance when enabled.

SET TCP IP MAXIMUM SMALL ECBS = 512 - 65534 (1024 default)
=====================================================
+ This parameter allows the setting of the small ECB pool. This should only be changed upon the advice of Novell technical
services. The small ECB pool is used for processes like ping (ICMP).


SET TCP MINIMUM RETRANSMISSION TIMEOUT = 2 - 6 (2 default)
========================================================
+ Use this set command to change the retransmission timeout from the default of 2 TCP ticks (TCP=224ms). This should only be done if it is determined that retransmissions are occurring across a WAN link because of latency. Performance degradation can be severe if this parameter is not fully understood and the intent of its use.


SET TCP DEFEND SYN ATTACKS = ON/OFF (default=ON)
================================================
+ Enabled will clear all half-open connections when a the 32nd connection request is received. The 32nd request will be dropped
but the 33rd thru n will be processed.
+ Disabled will not clear the half opened connections. > 33rd connection request will be discarded until such time as a
connection request is processed thereby freeing a connection for processing.

*NOTE: There is a timeout associated with connection requests. After 75 seconds, half-open connections with be cleared.


SET ALWAYS ALLOW IP FRAGMENTATION = ON/OFF (default = OFF)
==========================================================
+ Makes sure that the DF (Don't fragment) bit is enabled/disabled in the FLAG field of the IP header
+ May be used in cases where a TCP connection fails due to sending of large data packets that require fragmentation. Some
intermediate routers may not support the Path MTU algorithm correctly and resulting ICMP destination unreachable packets may
not contain correct information.


SET TCP IP DEBUG = 0/1 (default = 0)
================================
+ Dumps all incoming and outgoing packets processed by the TCPIP.NLM. Useful in debugging problems with packet translation,
filtering or connection issues.
+ The displayed information scrolls down very quickly on the system console in NetWare 5.x. and administrators may not be able to get all the information they require. The best way to capture the information on NW 5.x is to run the CONLOG.NLM, SET the debug parameter to 1, capture the IP information, and finally unload CONLOG.NLM. The CONSOLE.LOG file in SYS:\ETC will contain all information written to the system console.  In Netware 6.x the information will be sent to the logger screen


SET TCP SOCKET DEBUG = 0-4 (default = 0)
======================================
+ Dumps information regarding RAW sockets. Currently the TCPIP.NLM does not support many raw sockets hence this parameter
cannot provide too much useful information.
+ Mode 1 shows basic information at the server console
Mode 2 shows basic information at both server console and SYS:ETC\TCPIP.LOG
Mode 3 shows advanced information at the server console
Mode 4 shows advanced information at both server console and SYS:ETC\TCPIP.LOG


SET TCP TRACE = 0-2 (Default = 0)
==============================
+ Dumps information about the current state of the TCP connection table.
+ Mode 1 shows basic information at the server console
Mode 2 shows basic information at the server console in a TCP - xxxx screen where xxxx begins with 0001 and increments by one for each connection.

Example:

1) SET TCP TRACE = 1

R 0 ms ----S- SEQ 01A8D1D7 ACK 00000000 LEN 0 WIN 8192 URG 0
S 0 ms -A--S- SEQ 006E37A0 ACK 01A8D1D8 LEN 0 WIN 32768 URG 0
R 56 ms -A---- SEQ 01A8D1D8 ACK 006E37A1 LEN 0 WIN 8760 URG 0
S 0 ms -AP--- SEQ 006E37A1 ACK 01A8D1D8 LEN 52 WIN 32768 URG 0
R 112 ms -A---- SEQ 01A8D1D8 ACK 006E37D5 LEN 0 WIN 8708 URG 0
R 1344 ms -AP--- SEQ 01A8D1D8 ACK 006E37D5 LEN 13 WIN 8708 URG 0
S 0 ms -AP--- SEQ 006E37D5 ACK 01A8D1E5 LEN 35 WIN 32755 URG 0
R 168 ms -A---- SEQ 01A8D1E5 ACK 006E37F8 LEN 0 WIN 8673 URG 0
R 336 ms -AP--- SEQ 01A8D1E5 ACK 006E37F8 LEN 7 WIN 8673 URG 0
S 0 ms -AP--- SEQ 006E37F8 ACK 01A8D1EC LEN 38 WIN 32748 URG 0
R 168 ms -A---- SEQ 01A8D1EC ACK 006E381E LEN 0 WIN 8635 URG 0
R 2576 ms -AP--- SEQ 01A8D1EC ACK 006E381E LEN 6 WIN 8635 URG 0
S 0 ms -AP--- SEQ 006E381E ACK 01A8D1F2 LEN 14 WIN 32742 URG 0
S 0 ms -A-R-- SEQ 006E382C ACK 01A8D1F2 LEN 0 WIN 32742 URG 0


1) SET TCP TRACE = 2

R 0 ms ----S- SEQ 01A565E4 ACK 00000000 LEN 0 WIN 8192 URG 0
--------------------------------------------------------------------------
cstate LISTEN snduna 00000000 rcvnxt 00000000 rttavg 0 ms
ostate DEAD sndnxt 00000000 rcvadv 00000000 rttdev 0 ms
flags 0 sndmax 00000000 rcvlim 00008000 rto 0 ms
mss 0 sndurg 00000000 rcvurg 00000000 keepalive 7199808 ms
css 0 wlack 00000000 wlseq 00000000 oalarm 0 ms
cwnd 0 sndwnd 0 rcvwnd 0 dupacks 0
ssthresh 0 sndqlen 0 rcvmin 512 nrxmit 0

S 0 ms -A--S- SEQ 006D3880 ACK 01A565E5 LEN 0 WIN 32768 URG 0
--------------------------------------------------------------------------
cstate SYN_RECEIVED snduna 006D3880 rcvnxt 01A565E5 rttavg 0 ms
ostate TRANSMIT sndnxt 006D3881 rcvadv 01A5E5E5 rttdev 3080 ms
flags 808 sndmax 006D3881 rcvlim 01A5E5E5 rto 2912 ms
mss 1460 sndurg 006D3880 rcvurg 01A565E5 keepalive 7199808 ms
css 1460 wlack 006D3880 wlseq 01A565E4 oalarm 2912 ms
cwnd 1460 sndwnd 8192 rcvwnd 32768 dupacks 0
ssthresh 65535 sndqlen 0 rcvmin 512 nrxmit 0

R 0 ms -A---- SEQ 01A565E5 ACK 006D3881 LEN 0 WIN 8760 URG 0
--------------------------------------------------------------------------
cstate SYN_RECEIVED snduna 006D3880 rcvnxt 01A565E5 rttavg 0 ms
ostate TRANSMIT sndnxt 006D3881 rcvadv 01A5E5E5 rttdev 3080 ms
flags 1008 sndmax 006D3881 rcvlim 01A5E5E5 rto 2912 ms
mss 1460 sndurg 006D3880 rcvurg 01A565E5 keepalive 7199808 ms
css 1460 wlack 006D3880 wlseq 01A565E4 oalarm 2912 ms
cwnd 1460 sndwnd 8192 rcvwnd 32768 dupacks 0
ssthresh 65535 sndqlen 0 rcvmin 512 nrxmit 0

S 0 ms -AP--- SEQ 006D3881 ACK 01A565E5 LEN 52 WIN 32768 URG 0
--------------------------------------------------------------------------
cstate ESTABLISHED snduna 006D3881 rcvnxt 01A565E5 rttavg 0 ms
ostate TRANSMIT sndnxt 006D38B5 rcvadv 01A5E5E5 rttdev 2352 ms
flags 800 sndmax 006D38B5 rcvlim 01A5E5E5 rto 2240 ms
mss 1460 sndurg 006D3881 rcvurg 01A565E5 keepalive 7199808 ms
css 1460 wlack 006D3881 wlseq 01A565E5 oalarm 2240 ms
cwnd 4380 sndwnd 8760 rcvwnd 32768 dupacks 0
ssthresh 65535 sndqlen 52 rcvmin 512 nrxmit 0

R 112 ms -A---- SEQ 01A565E5 ACK 006D38B5 LEN 0 WIN 8708 URG 0
--------------------------------------------------------------------------
cstate ESTABLISHED snduna 006D3881 rcvnxt 01A565E5 rttavg 0 ms
ostate TRANSMIT sndnxt 006D38B5 rcvadv 01A5E5E5 rttdev 2352 ms
flags 1000 sndmax 006D38B5 rcvlim 01A5E5E5 rto 2240 ms
mss 1460 sndurg 006D3881 rcvurg 01A565E5 keepalive 7199808 ms
css 1460 wlack 006D3881 wlseq 01A565E5 oalarm 2240 ms
cwnd 4380 sndwnd 8760 rcvwnd 32768 dupacks 0
ssthresh 65535 sndqlen 52 rcvmin 512 nrxmit 0

R 2576 ms -AP--- SEQ 01A565E5 ACK 006D38B5 LEN 13 WIN 8708 URG 0
--------------------------------------------------------------------------
cstate ESTABLISHED snduna 006D38B5 rcvnxt 01A565E5 rttavg 168 ms
ostate IDLE sndnxt 006D38B5 rcvadv 01A5E5E5 rttdev 1960 ms
flags 1000 sndmax 006D38B5 rcvlim 01A5E5E5 rto 1792 ms
mss 1460 sndurg 006D3881 rcvurg 01A565E5 keepalive 7199808 ms
css 1460 wlack 006D3881 wlseq 01A565E5 oalarm 7197120 ms
cwnd 7300 sndwnd 8708 rcvwnd 32768 dupacks 0
ssthresh 65535 sndqlen 0 rcvmin 512 nrxmit 0


SET TCP ARP DEBUG = ON/OFF (Default = OFF)
==========================================
+ Rarely required for support
+ Dumps ECB information associated with every ARP packet generated or processed
+ May be useful to use in cases where an abend occurs with an ARP packet process

Example:-

SJF-TS-PADDY:BIND IP NE2000 ADDR=193.97.18.100
Several boards are using the NE2000 LAN driver
1. Novell NE2000 using Slot 65535, I/O ports 300h to 31Fh, Interrupt 3h, Frame type: ETHERNET_802.2
2. Novell NE2000 using Slot 65535, I/O ports 300h to 31Fh, Interrupt 3h, Frame type: ETHERNET_II
Select board to bind: 2
TCPIP-4.0-112: Bound to board 3 with IP address 193.97.18.100 and mask FF.FF.FF.0.

TCPIP:**** ARPNewMapping: Sending ECB *****
ecb_pt=0x20919E0, ueb_data_ln=28, block_ct=0x1ueb_done_anr=0xF1216806, ueb_done_ctx=0x2718158datablock=0x2091A1C, len=0x1C

IP LAN protocol bound to Novell NE2000


SET TCP ECB DEBUG = 0-4 (Default = 0)
==========================================
+ Prints ECBs given to IP_Send before sending data
+ Useful for troubleshooting TCPIP abends or fragmentation issues with IP


SET TCP IPCP DEBUG = 0-4 (Default = 0)
===================================
+ Display negotiated IPCP options when establishing a call over PPP with MPR
+ Mode 1 gives the calls. As we increment the mode number, it dumps info from within each call made.

Example:-

When a MPR router tries to establish a PPP call with an ISP where it requests the ISP to assign the MPR an IP address
automatically, the following output will be sent to the system console when the IPCP SET command is enabled:-

TCPIP:IPCP: RECEIVE ACK ADDRESS=0x1010103 /* our interface is 3.1.1.1! */


SET TCP RIP DEBUG = 0-4 (default = 0)
=================================
+ Used to verify the sending of RIP requests on the SERVERCONSOLE
Mode 1 shows RIP send information at the server console
Mode 2 shows RIP send information at the server console (unload and load CONLOG to capture to a file)
Mode 3 shows RIP send/receive information at the server console
Mode 4 shows RIP send/receive information at the server console (unload and load CONLOG to capture to a file)

Example (Mode 1/2)

TCPIP:RIPSendResponse: ecb_pt 0x26ee158, version 0x1, rif_pt 0x20a0e30, destination 0x0port 0x0
TCPIP:RIPSend with ecb 0x26ee158, version 0x1, rif_pt 0x20a0e30, destination 0x0, port 0x0 (Board 3)
TCPIP:Sending ECB to UDPSendTOIF rif_pt is 0x20a0e30 (Board 3)
TCPIP:RIPSend->UDPSendToIF ecb_pt=0x26EE158, ueb_data_ln=52, block_ct=0x1ueb_done_anr=0xF03C4B70, ueb_done_ctx=0x50544620datablock=0x26EE194, len=0x34

TCPIP:
Entered RIPAdvertiseRoutes with interface 0x20a0e30 destination 0x0, port 0, requested version 1
TCPIP:Check if a Wan Client is Inconnected on this Interface


SET TCP WAN DEBUG = 0-4 (Default = 0)
===================================
+ Dumps IP (not CSL!) debug information to server console when a WAN call is being made with the MPR.
+ Mode 1 gives the calls. As we increment the mode number, it dumps info from within each call made.

Example:-

(1) Establishing a PPP connection from MPR to remote PPP server via CALLMGR with the DEBUG SET option enabled returns the
following information to the system console:-

TCPIP:cm_MakeCall: ApplMakeCallWithRetries Succeeded

TCPIP:cm_MakeCall returning 0
TCPIP-4.0-112: Bound to board 5 with IP address 3.1.1.1 and mask FF.0.0.0.
TCPIP-4.0-205: Initiated WAN connection to SJF-TS-MICK-PPP1.


(2) If we manually try to disconnect the same call that was established above, we would see the following on the system
console:-

TCPIP:Tearing Down Static Routes for call SJF-TS-MICK-PPP1

TCPIP:Remote Addr is 0x2010103 and rt_router.ip_long is 0x1010103

TCPIP:Remote Addr is 0x2010103 and rt_router.ip_long is 0xfe1261c1

TCPIP:Remote Addr is 0x2010103 and rt_router.ip_long is 0x641261c1

TCPIP:Calling IPInvalidateAllWANCallRoutes with map_pt 0x20ecf78
TCPIP:Calling IPInvalidateAllWANCallRoutes1 with map_pt 0x20ecf78
TCPIP:Calling cm_CFreeCacheEntry with map_pt 20ecf78

TCPIP:Calling IP_Flush_Caches

3-19-97 6:04:31 pm: TCPIP-4.0-207
Disconnected WAN call to SJF-TS-MICK-PPP1.


SET ALLOW IP ADDRESS DUPLICATES = ON / OFF
===========================================
+ allows testing of IP addresses in a test environment
+ when SET to ON, the BIND will go ahead even if a duplicate IP address is discovered through a gratuitous ARP

NOTE: These set commands only work with tcpip v. 4.00o or later. (currently TCPN05.exe. This file is available from
support.novell.com). If an old tcpip stack is being used, you must place, in the ETC\TCPIP.CFG file the following command:
TcpMSSinternetlimit on . This setting will be erased EVERY time you go into INETCFG.NLM and will have to be reset. Also, the
tcpip.nlm needs to be unloaded and reloaded if you use the cfg setting. For these reasons, it is recommended that you run the
latest version of the tcpip stack and use the set commands.


SET USE SPECIFIED MTU = OFF/ON
===============================
Forces IP to use User specified MTU size (see SET maximum interface MTU command). When this SET command is enabled, we do
not query the MTU of the LAN card for it's MTU size but query the next SET command to obtain that parameter. This SET command may be useful when IP fragmentation, due to differing network topologies, is reducing performance and administrators want to
manually define a standard MTU size for their network. This corresponds to the previously undocumented TCPMSSINTERNETLIMIT
that could be defined in TCPIP.CFG file.

SET MAXIMUM INTERFACE MTU = 576
=================================
+This value defines the MTU size that should be used when the SET USE SPECIFIED MTU parameter is enabled. If no value is
defined, it will default to 576 Bytes. Values between 576 and 5000 may be implemented.

.

document

Document Title: How to use the TCPIP debug SET commands
Document ID: 10013542
Solution ID: 4.0.12258713.2259887
Creation Date: 03Aug1999
Modified Date: 06Jun2003
Novell Product Class:Connectivity Products
Groupware
NetWare
Novell BorderManager Services
Volera Excelerator

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.