CHGTCPA (Change TCP/IP Attributes)
CHGTCPA Command syntax diagram
Purpose
The Change TCP/IP Attributes (CHGTCPA) command is used to change the TCP, UDP, IP, and ARP protocol layer attributes. The changes take effect immediately.
Restriction: You must have *IOSYSCFG special authority to use this command.
Optional Parameters
- TCPKEEPALV
- Specifies the amount of time, in minutes, that TCP waits before sending out a probe to the other side of a connection. The probe is sent when the connection is otherwise idle, even when there is no data to be sent.
Note: The transmission of keep-alive packets is controlled by individual sockets applications through use of the SO_KEEPALIVE socket option. *SAME: The keep-alive time interval value does not change from its current setting.
*DFT: The keep-alive time interval value of 120 minutes is used.
TCP-keep-alive: Specify a keep-alive time interval in minutes. Valid values range from 1 through 40320 minutes (28 days).
- TCPURGPTR
- Specifies which convention to follow when interpreting which byte the urgent pointer in the TCP header points to. The urgent pointer in the TCP header points to either the byte immediately following the last byte of urgent data (BSD convention) or the last byte of the urgent data (RFC convention).
Note: This value must be consistent between the local and remote ends of a TCP connection. Socket applications that use this value must use it consistently between the client and server applications. This value is set on a system basis. All applications using this system will use this value. *SAME: The urgent pointer value does not change from its current setting.
*BSD: Use the BSD defined convention. The TCP urgent pointer points to the byte immediately following the last byte of urgent data. This is the initial value.
*RFC: Use the RFC defined convention. The TCP urgent pointer points to the last byte of the urgent data.
- TCPRCVBUF
- Specifies what to allocate for the default receive buffer size. The TCP receive window size is based on this value. Decreasing this value decreases the amount of data that the remote system can send before being read by the local application. Decreasing this value may improve performance in situations where many retransmissions occur due to the overrunning of a network adapter.
Notes
- User Datagram Protocol (UDP) does not have a configurable receive buffer size.
- This value is also used as the default receive buffer size by IP over SNA processing.
- Set this parameter does not guarantee the size of the TCP receive buffer. This is the default buffer size that is used for initial TCP connection negotiations. An individual application can override this value by using the SO_RCVBUF socket option.
*SAME: The TCP receive buffer size does not change from its current value.
*DFT: The default TCP receive buffer size of 8192 (8K) is used.
TCP-receive-buffer-size: Specify the TCP receive buffer size. Valid values range from 512 through 8388608 (8MB) bytes.
Note: Set the TCPRCVBUF size to a large value, 8388608 for example, can cause storage allocation problems on your machine. This is because every TCP connection allocates 8MB of storage for its receive buffer.
- TCPSNDBUF
- Specifies the TCP send buffer size. This parameter informs TCP what to use for the default send buffer size. The TCP send buffer size provides a limit on the number of outgoing bytes that are buffered by TCP. Once this limit is reached, attempts to send additional bytes may result in the application blocking until the number of outgoing bytes buffered drops below this limit. The number of outgoing bytes buffered is decremented when the remote system acknowledges the data sent.
Notes
- This value is used also as the default send buffer size by IP over SNA processing.
- UDP does not have a configurable send buffer size.
- Set this parameter does not guarantee the size of the TCP send buffer. This is the default buffer size that is used for initial TCP connection negotiations. An individual application can override this value by using the SO_SNDBUF socket option.
*SAME: The TCP send buffer size does not change from its current value.
*DFT: The default TCP send buffer size of 8192 (8K) is used.
TCP-send-buffer-size: Specify the TCP send buffer size. Valid values range from 512 through 8388608 (8MB) bytes.
- TCPR1CNT
- Specifies the TCP R1 retransmission count value. This parameter is a counter that specifies the number of TCP retransmissions that will be attempted before TCP requests a different network route from IP.
Note: The R1 retransmission count value must be less than the R2 retransmission count value. *SAME: The TCP R1 retransmission count does not change from its current value.
*DFT: The default TCP R1 retransmission count value of 3 is used.
TCP-R1-retransmission-count-value: Specify the TCP R1 retransmission count value. Valid values range from 1 through 15.
- TCPR2CNT
- Specifies the TCP R2 retransmission count value. This parameter is a counter that specifies the total number of TCP retransmissions that will be attempted before TCP assumes that the connection has been lost and stops retransmitting.
Note: The R2 retransmission count value must be greater than the R1 retransmission count value. *SAME: The TCP R2 retransmission count does not change from its current value.
*DFT: The default TCP R2 retransmission count value of 16 is used.
TCP-R2-retransmission-count-value: Specify the TCP R2 retransmission count value. Valid values range from 2 through 16.
- TCPMINRTM
- Specifies the TCP minimum retransmit time value which is the lowest amount of time (expressed in milliseconds) to elapse before TCP decides that a transmitted packet is lost and needs to be sent again.
*SAME: The TCP minimum retransmit time value does not change from its current value.
*DFT: The default TCP minimum retransmit time value of 250 milliseconds is used.
TCP-minimum-retransmit-time-value: Specify the TCP minimum retransmit time value. Valid values range from 100 through 1000 milliseconds.>
- TCPCLOTIMO
- Specifies the TCP closed connection wait timeout value. This parameter indicates the amount of time, in seconds, for which a socket pair (client IP address and port, server IP address and port) cannot be reused after a connection is closed. The maximum value possible is 14400 seconds.
Note: Set the wait timeout value to 0 means that a timer will not be used. *SAME: The timeout value does not change from its current value.
*DFT: The default timeout value of 120 seconds is used.
TCP-closed-connection-wait-timeout-value: Specify the TCP closed connection wait timeout value. Valid values range from 0 through 14400 seconds (4 hours).
- TCPCNNMSG
- Specifies whether abnormally closed TCP connections will be logged via messages to the QTCP message queue. TCP connections could be abnormally closed for the following reasons:
- TCP connection closed due to the 10 minute Close_Wait time_out.
- TCP connection closed due to the R2 retry threshold being exceeded.
- TCP connection closed due to the keepalive time-out value being exceeded.
*SAME: The value does not change from its current value.
*THRESHOLD: At most, one abnormally closed TCP connection message per minute will be logged. TCPCNNMSG(*THRESHOLD) is the initial value.
*NONE: Abnormally closed TCP connections will not be logged.
*ALL: All abnormally closed TCP connections will be logged. Note that there are some conditions that could cause MANY closed connection messages to be logged at the same time.>
- UDPCKS
- Specifies whether UDP processing should generate and validate checksums. It is strongly recommended that you specify UDPCKS(*YES) to use UDP checksum processing. If you are concerned about obtaining the best possible performance and are not concerned with the protection provided by UDP checksum processing, specify UDPCKS(*NO).
*SAME: The status of checksum protection for UDP data does not change from its current value.
*YES: Checksum protection is provided for UDP data. UDPCKS(*YES) is the initial value.
*NO: Checksum protection is not provided for UDP data.
- IPDTGFWD
- Specifies whether the IP layer forwards Internet Protocol (IP) datagrams between different networks. It specifies whether the IP layer is acting as a gateway.
Note: IP does not forward datagrams between interfaces on the same subnet. The iSeries 400 implementation of TCP/IP does not include full gateway function as defined in RFC1009. A subset of the gateway functions are supported. One of the gateway functions supported is IP datagram forwarding capabilities.
*SAME: The IP datagram forwarding status does not change from its current value.
*NO: IP datagrams are not forwarded. IPDTGFWD(*NO) is the initial value.
*YES: IP datagrams are forwarded.
- IPRSBTIMO
- Specifies, in seconds, the IP datagram reassembly time. If this time is exceeded, a partially reassembled datagram is discarded and an ICMP time exceeded message is sent to the source host.
*SAME: The assembly time does not change from its current setting.
*DFT: The default assembly time of 10 seconds is used.
IP-reassembly-time-out: Specify an IP reassembly time in seconds. Valid values range from 5 through 120 seconds.
- IPTTL
- Specifies the default TTL value. The IP datagram time-to-live value specifies a relative limit on the number of hops across which an IP datagram remains active. The time-to-live value acts as a "hop count" that is decremented by each gateway to prevent internet routing loops.
Note: Even though this parameter is specified as a time-to-live value, it is not used as a time value. It is used as a counter. The standard description is time to live as specified in RFCs.
Note: This default IP datagram time-to-live value is not used for datagrams sent to an IP multicast group address. The default IP datagram time-to-live value for datagrams sent to an IP multicast group is always 1 as specified by the Internet standards. Individual multicast applications may override this default using the IP_MULTICAST_TTL socket option. *SAME: The time-to-live value does not change from its current setting.
*DFT: The default time-to-live value of 64 is used.
IP-time-to-live: Specify an IP time-to-live value. Valid values range from 1 through 255.
- IPSRCRTG
- Specifies whether the IP layer will support source routing.
*SAME: The IP source routing status does not change from its current value.
*YES: IP source routing is allowed. IPSRCRTG(*YES) is the initial value.
*NO: IP datagrams found with IP source routing turned on will be rejected.
- IPPATHMTU
- Specifies whether the path Maximum Transmission Unit (MTU) discovery function will be enabled on this system. Path MTU discovery allows for dynamic MTU adjustment, on a per connection basis, in order to maximize network throughput.
Element 1: Path MTU Discovery Enablement
*SAME: The path MTU discovery enablement status and path MTU discovery time interval do not change from their current values.
*DFT: The default path MTU discovery enablement status is *YES and the default path MTU discovery time interval is 10 minutes.
*NO: Path MTU discovery is not enabled for this system.
*YES: Path MTU discovery is enabled for this system.
Element 2: Path MTU Discovery Interval
Specifies the amount of time, in minutes, that the TCP/IP protocol stack will cache the results of a path MTU discovery. When the time interval is exceeded, the path MTU is rediscovered.
Note: In order for the path MTU discovery interval element to be specified, the first element must be set to *YES.
Note: The use of Path MTU discovery for UDP applications is controlled by individual sockets applications through use of the SO_PATHMTU socket option. 10: A path MTU discovery interval of 10 minutes is used.
*ONCE: Once a path MTU is discovered, it is not recalculated.
IP-path-MTU-interval: Specify a path MTU discovery interval in minutes. Valid values range from 5 through 40320 minutes (28 days).
- IPQOSENB
- Specifies whether Quality of Service (QoS), IP Type of Service (TOS), or neither of the two are enabled.
*SAME: The QoS enablement value does not change from its current setting.
*TOS: Use TOS byte in the IP header.
*YES: Use QoS.
*NO: Do not use QoS or TOS. This is the initial value.
- IPQOSBCH
- Specifies the type of datagram batching used by Quality of Service (QoS). This parameter determines to what extent QoS will batch datagrams so as to optimize performance at the risk of increasing jitter, or delay. The *NORMAL setting maximizes performance by doing more batching of datagram packets. The *MINDELAY setting minimizes delay by doing less batching of datagram packets and just sending them when they are ready. This parameter is only in effect if IPQOSENB(*YES) is defined.
*SAME: The QoS datagram batching value does not change from its current setting.
*NORMAL: Maximize performance with a longer delay to allow more batching of datagram packets. This is the initial value.
*MINDELAY: Minimize delay by reducing the amount of time that datagram packets are held for batching before being transmitted.
- IPQOSTMR
- Specifies the Quality of Service (QoS) timer resolution value. This parameter influences the amount of control possible over delay variations. A higher timer resolution value contributes to more jitter (delay), and a lower timer resolution uses more CPU time. This value is given in milliseconds. The timer resolution value that can be tolerated is very dependent on the application. For example, video is highly sensitive to large delay variations. To achieve a smooth rate of flow, timers need to use small timer increments. The smaller the resolution, the smoother the data flow but at a higher cost in terms of system overhead to manage timers. This parameter is only in effect if IPQOSENB(*YES) is defined.
*SAME: The QoS timer resolution value does not change from its current setting.
*DFT: The default QoS timer resolution value of 100 milliseconds is used.
IP-QoS-timer-resolution: Specify an IP QoS timer resolution value. Valid values range from 5 through 5000 milliseconds.
- IPDEADGATE
- Specifies whether dead gateway detection will be enabled on this system. Dead gateway detection is a mechanism which involves polling all attached gateways. If no reply is received to the polls then all routes using that gateway are inactivated. Gateways marked as dead will continue to be polled and when they respond again all routes using that gateway will be reactivated.
Element 1: Dead Gateway Detection Enablement
*SAME: The dead gateway detection enablement status and dead gateway detection time interval do not change from their current values.
*DFT: The default dead gateway detection enablement status is *YES and the default dead gateway detection time interval is 2 minutes.
*NO: Dead gateway detection is not enabled for this system.
*YES: Dead gateway detection is enabled for this system.
Element 2: Dead Gateway Detection Interval
Specifies the amount of time, in minutes, that the TCP/IP protocol stack will wait between dead gateway detection polls. When the time interval is exceeded, the gateways are polled.
Note: In order for the dead gateway detection interval element to be specified, the first element must be set to *YES. 2: A dead gateway detection interval of 2 minutes is used.
IP-dead-gateway-detection-interval: Specify a dead gateway detection interval in minutes. Valid values range from 1 through 60 minutes (1 hour).
- ARPTIMO
- Specifies, in minutes, the ARP cache time-out value. The time-out value's purpose is to flush out-of-date cache entries from the ARP cache.
*SAME: The default ARP cache time-out interval does not change from its current setting.
*DFT: The default ARP cache time-out interval of 15 minutes is used.
ARP-cache-timeout: Specify an ARP cache time-out interval in minutes. Valid values range from 1 through 1440 minutes (24 hours).
- NFC
- Specifies whether the Network File Cache (NFC) function will be enabled on this system. The Network File Cache is used for the support of FRCA (Fast Response Cache Accelerator). FRCA dramatically improves the performance of serving non-secure static content by Web and other TCP servers.
Element 1: Network File Cache Enablement
*SAME: The NFC enablement status does not change from its current value.
*YES: Network File Cache is enabled for this system.
*NO: Network File Cache is not enabled for this system.
Element 2: Network File Cache Timeout
Specifies the maximum amount of time, in seconds, that a file can be cached in the Network File Cache. This ensures that a file is refreshed at a regular interval.
Note: A cache time can be specified when NFC is not enabled; however, the cache time will not take affect until NFC is enabled. *SAME: The cached file timeout does not change from its current value.
*NOMAX: Cached file entries will NOT timeout.
cached-file-timeout: Specify a file cache time in seconds. Valid values range from 30 through 604800 seconds (1 week).
Element 3: Network File Cache Size
Specifies the maximum amount of storage that may be used by the NFC for the entire system. This is the accumulative storage used by all TCP servers for loading files.
Note: A cache size can be specified when NFC is not enabled; however, the cache size will not take affect until NFC is enabled. *SAME: The cache size does not change from its current value.
cache-size: Specify a file cache size, in megabytes. Valid values range from 10 through 100000 megabytes (100GB).
Single Values
*DFT: The default NFC enablement status is *YES with a default cache size of 10MB and a cache timeout of 300 seconds.
*CLEAR: Specifies to immediately clear the entire network file cache. After the cache is cleared, the previous Network File Cache values will be retained.>
- LOGPCLERR
- Specifies log protocol errors. This parameter enables a user to log protocol errors that occur during the processing of TCP/IP data. These TCP/IP stack layer functions use this parameter to determine if they log protocol-specific errors: IP, ICMP, ARP, and NAM. TCP and UDP do not log protocol errors.
The 7004 error reference code is logged when the LOGPCLERR(*YES) option is specified and inbound datagrams are silently discarded. Silently discarded means that an ICMP message is not returned to the originating host when a datagram is discarded because of header errors. Examples of such datagrams include those with invalid checksums and invalid destination addresses.
The error reference code is for information only. No action should be taken as a result of this error reference code. It is generated to assist with remote device or TCP/IP network problem determination.
Note: These error conditions cannot be processed using an APAR. The log protocol errors parameter should be used when error conditions require the logging of TCP/IP data, such as datagrams, to determine network problems.
The data is logged in the system error log. This error log is available through the Start System Service Tools (STRSST) command.
*SAME: The status of logging protocol errors does not change from its current value.
*NO: Protocol errors are not logged. This is the initial value.
*YES: Protocol errors are logged.
Examples for CHGTCPA
Example 1: Using TCP/IP with UDP Checksum Verification
CHGTCPA UDPCKS(*YES)This command indicates that UDP checksumming is done for UDP data.
Example 2: Using Selected IP Parameters
CHGTCPA IPDTGFWD(*YES) IPTTL(5) IPRSBTIMO(60)This command indicates that TCP/IP has the following characteristics:
- IP datagrams are forwarded between interfaces on different subnets.
- IP time to live (TTL) is set to 5.
- IP reassembly time-out is set to 60 seconds.
Example 3: Using Selected TCP Parameters
CHGTCPA TCPKEEPALV(100) TCPURGPTR(*RFC) TCPRCVBUF(16000)This command indicates the following:
- TCP probes the other side of a connection every 100 minutes.
- The TCP urgent pointer in the TCP header points to the last byte of the urgent data (RFC convention).
- The TCP default receive buffer size is 16000 bytes.
Example 4: Turning off IP source routing
CHGTCPA IPSRCRTG(*NO)This command indicates that IP source routing will no longer be allowed. Any IP datagrams found with IP source routing turned on will be rejected.
Example 5: Changing R1/R2 Counts and QoS Attributes
CHGTCPA TCPR1CNT(3) TCPR2CNT(10) TCPCLOTIMO(300) IPQOSENB(*YES) IPQOSBCH(*MINDELAY) IPQOSTMR(500) IPDEADGATE(*YES)This command indicates the following:
- TCP is set to request a different network route after 3 unacknowledged transmissions.
- TCP is set to stop retransmitting an unacknowledged packet after 10 unsuccessful attempts.
- TCP is set to wait 300 seconds (5 minutes) before reusing a closed connection socket pair.
- Quality of Service (QoS) is enabled.
- QoS datagram batching is set to minimize delay in network transmissions.
- The QoS timer resolution value is set to 500 milliseconds to lower CPU usage.
- Dead gateway detection is enabled.
Error messages for CHGTCPA
*ESCAPE Messages
- CPF9801
- Object &2 in library &3 not found.
- CPF9802
- Not authorized to object &2 in &3.
- CPF9803
- Cannot allocate object &2 in library &3.
- CPF9807
- One or more libraries in library list deleted.
- CPF9808
- Cannot allocate one or more libraries on library list.
- CPF9810
- Library &1 not found.
- CPF9820
- Not authorized to use library &1.
- CPF9830
- Cannot assign library &1.
- TCP1D03
- &1 member record length not correct.
- TCP1D04
- Error occurred processing member &1 of &2/&3.
- TCP15A3
- TCP/IP attributes not changed.
- TCP15A5
- Error accessing member &3
- TCP15A6
- Attribute file keyword &4 missing
- TCP15A7
- Attribute file keyword &4 not valid.
- TCP8050
- *IOSYSCFG authority required to use &1.
- TCP9503
- File &3 in library &2 not available.
- TCP9999
- Internal system error in program &1.