Transaction Processing Facility (TPF) - Online MaintenanceTPF : Support : Maintenance TPF : Support : Maintenance
SUBJECT: APAR NUMBER: PJ27719 (HIPER)
REFERENCE: AREA: TCP/IP NATIVE STACK
SEGMENT: CTT140 - RELEASE: TPF4 (Copy)
SEGMENT: CTT340 - RELEASE: TPF4 (Copy)
SEGMENT: CTT840 - RELEASE: TPF4 (Copy)
SEGMENT: IPCCW40 - RELEASE: TPF4 (Dsect)
Pre-requisite APARs are:
FOR SEGMENT CTT140 (Copy) - REL TPF4
PJ26683PJ27268
FOR SEGMENT CTT340 (Copy) - REL TPF4
PJ26683
FOR SEGMENT CTT840 (Copy) - REL TPF4
PJ26683
FOR SEGMENT IPCCW40 (Dsect) - REL TPF4
PJ26683
To be applied in the order listed for each segment.
ABSTRACT OF PROBLEM
___________________
IP over CDLC polling enhancement.
COMMENTS ON PROBLEM
___________________
The IP over CDLC link layer used by TCP/IP native stack support
(APAR PJ26683) is modeled after TPF's SNA over CDLC support.
When an I/O operation completes, the system must decide whether
to issue a write, a read, or not do another I/O operation at
this time. If the size of the IP output queue is large, TPF
will invoke the write routine in an effort to free up
buffer/core resources before reading in more input messages. In
this case if any output messages on the IP output queue are
associated with the local IP address assigned to this CDLC
router, a write I/O will be done. If the size of the IP output
queue remains large and applications generate output messages
fast enough such that there is always at least one new output
message that can be sent to this CDLC IP router when a write I/O
completes, TPF will keep issuing write I/Os. If this situation
persists for an extended period of time, the result can be link
slowdown or link failure because reads are not being issued fast
enough.
There are two different scenarios that can lead to the situation
described above.
1. Items build up on the IP output queue and most are not asso-
ciated with any active IP router, therefore, the size of the IP
output queue becomes large and remains large. In addition,
output messages that can be sent to this specific IP router are
continually generated such that there is always at least one new
message to send when a write I/O completes. One function of the
socket sweeper program is to remove undeliverable messages from
the IP output queue and, therefore, prevents a large queue of
undeliverable messages from building up. However, if a customer
disables the socket sweeper program, a queue of undeliverable
messages can build up over time and once the queue size becomes
large, it will never become small, resulting in the CDLC write
routine being called all the time.
2. Messages on the IP output queue are being processed, but
applications are generating output messages faster than they can
be sent to the IP routers. In between the time that a write I/O
operation starts and completes, many new output messages are
generated for this IP router such that the size of the IP output
queue is always large. There is fail safe polling logic that
says once every second to issue a read on an IP router even if
an attention interrupt has not been received. This code was
created to handle the case where an attention interrupt was
lost. If the fail safe polling code wants to do a read but
there is a write I/O already in progress, the read cannot be
started at this time and will not be done until the system is
finished with the current and subsequent write operations.
SOLUTION
________
To better handle scenario #1, the IP over CDLC code that checks
to see if the size of the IP output queue is large has been
enhanced to also check to see if the number of messages on the
queue that can be sent to this IP router is enough to fill up a
write channel program. If yes, a write I/O will be done.
However, if the size of the IP output queue is large, but there
are not enough messages for this IP router to fill up a write
channel program, the code will no longer automatically call the
write routine. Instead, it will do a read in this situation if
an attention interrupt has been received. IBM also strongly
recommends that customers run with the socket sweeper program
enabled to prevent potential problems like this in the first
place.
For scenario #2, the fail safe polling logic has been enhanced.
If TPF goes one second without issuing any reads for an IP
router, a read will now be done when the current I/O operation
completes regardless of how many messages are on the IP output
queue. This guarantees that TPF will not go more than one
second without reading from an IP router, provided that there is
a CDLC read buffer available. Note that if read buffers on the
input list are not being processed (for example, TPF is in input
list shutdown), it will not be possible to issue the read until
a read buffer becomes available. Also note that if you generate
output messages faster than they can be sent to IP routers and
do this for extended periods of time, you have a network
capacity problem and need to connect more IP routers to your TPF
system to handle the load.
DEPENDENCIES
____________
Related Segments Affected By This APAR.
_______________________________________
Segments to be assembled or compiled:
CCTCP1
Segments to be link edited:
CPS0
Load Modules to be loaded:
None.
Migration Considerations
========================
None.
-- END APAR PJ27719
1
Download file(s):
Login once to access server, leave window open, then
click on link(s) below.