Patch-ID# 101280-16 Keywords: sna rje jumbo accept termself attn DL_IDLE reset Synopsis: SunLink 8.0: SNA3270/RJE gateway jumbo patch Date: Feb/05/97 Solaris Release: 2.1, 2.2, 2.3, 2.4 SunOS Release: 5.1, 5.2, 5.3, 5.4 Unbundled Product: SunLink SNA3270/RJE Unbundled Release: 8.0 Relevant Architectures: sparc BugId's fixed with this patch: 1139736 1144193 1145608 1146584 1147252 1147412 1147829 1147991 1155751 1159303 1156913 1156914 1159303 1162509 1164780 1169810 1173757 1174206 1174324 1177002 1180668 1183197 1183433 1213390 1258116 Changes incorporated in this version: 1258116 Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: 101306 101404 101414 102147 102229 101591 101737 NOTE: 101306 : Ethernet driver patch (Needed only if using LLC2 over ethernet or FDDI.) 101404 : RJE client patch. (Needed only if using RJE.) 101414 : Client 3270 patch. (Needed only if using SNA3270.) 102147 : Patch for snacommd and SDLC. 102229 : LLC2 patch for IBM products. (Needed only if using LLC2.) 101591 : FlexLM patch (Needed only if more than 50 SNA gateway clients.) 101737 : TNServer patch. (Needed only if using TN3270 Server.) Obsoleted by: Files included with this patch: /opt/SUNWconn/share3270_rje/snopts /opt/SUNWconn/share3270_rje/sna3274_3770 /opt/SUNWconn/sna3270/S90sna3270 /opt/SUNWconn/sna3270/startsna /opt/SUNWconn/sna3270/stopsna /opt/SUNWconn/sna3270/traceoff /opt/SUNWconn/sna3270/traceon /opt/SUNWconn/sna3770/S90sna3770 /opt/SUNWconn/sna3770/startsnarje /opt/SUNWconn/sna3770/stopsnarje /opt/SUNWconn/sna3770/rjetraceoff /opt/SUNWconn/sna3770/rjetraceon Problem Description: (Rev 16) -------- 4006444 (esc 507134): 3270 server3270 server: getprotoent failed: Error 0 Fixed the (Rev 15) -------- 1213390 (esc 502077): all te3278 sessions hang during heavy system load Modified code to remove unnecessary system calls. (Rev 14) -------- 1159303 (esc 500663): continual 3770 server: accept failure: Invalid argument messages Under certain conditions, the sna3770 gateway would get repeated accept() errors and would not be able to recover. In order to bypass this problem, the gateway was modified so that it would not use fd 0 as a socket file descriptor. 1183433 (esc 500046): gateway terminates if data received after reset code 20 After a reset code 20, if the host did not perceive that the line dropped, it may send data. If the gateway needed to generate a response to this data, it would get an internal error: "Sending DL_DATA_REQ while not in DL_DATAXFER state" and terminate. A fix was made to the DLPI state change code to fix this problem. (Rev 13) -------- 1155751 (esc 500431): rje gets "setsockopt SO_SNDBUF failed" on Solaris 2.4 Reduce buffer size on setsockopt SO_SNDBUF call from 100,000 to 64,000. (Rev 12) -------- 1174206 (esc 10215): DAI returns error 423 after Read Partition Query The sna3274 gateway would receive a Read Partition Query, send it to a DAI client, receive a Query Reply from the client, and send it back to the host. But the gateway would also pass an extraneous error code 423 (FI not allowed) to the client along with the Read Partition Query. The gateway was changed so that it would not set error code 423 when an FM Header was received if the SNAPLUFMH bit was set by the DAI client. 1174324 (esc 10231): The gateway doesn't clear the printer error status For a printer device type, if a 5xx status occurred and then was cleared, the sna3274 gateway didn't clear 5xx error status in the DAI ds_read() return code. The gateway was modified to clear the 5xx error for all device types. 1177002 (esc 10556): Gateway cannot re-establish the link after host is IPL'ed The customer IPL'ed his host and then found that the gateway would not re-establish the link after the host came back up. The problem was found to be the following: when the host was IPL'ed, the gateway would get an error from the SDLC layer. The gateway would then send a null DLPI DL_XID_REQ primitive to SDLC. If this request timed out, the gateway would then start sending DL_TEST_REQ primitives to SDLC. This was changed to retry the null DL_XID_REQ instead. One thing to watch out for is that the XID retry is fairly frequent when it works right. In our test we sent a DL_XID_REQ every 28 seconds (and logged the event in the gateway log). The XTWAIT environ variable can be set to extend the delay; it is defaulted to 10 seconds by startsna. See pages 5-4 to 5-6 of the "SunLink SNA 3270 8.0 System Administrator's Guide" for details. (The extra 18 seconds is the SDLC driver timeout.) Also added a timestamp to DLPI primitive log messages, and added writing these messages for sent DLPI primitives in addition to the existing messages for received primitives. 1180668 (esc 10978): SNA gateway in wrong state after CTS timeout After a CTS timeout on the SDLC line, the SDLC driver sends an O_RESET DLPI primitive to the SNA gateway. Later, when the line recovers, the SDLC driver sends a DL_CONNECT_IND DLPI primitive to the SNA gateway. The gateway would reject the connect because it was still in DL_DATAXFER state, and would write a "received DL_CONNECT_IND while not in DL_IDLE state" message to stderr and quietly terminate. The gateway has been fixed to switch to DL_IDLE state upon receipt of an O_RESET DLPI primitive from the line driver, so it can then handle the DL_CONNECT_IND correctly. The gateway has also been fixed so that at termination it writes a message to the gateway log file. In addition, the gateway has been enhanced to write a termination message to the system log, at priority daemon.err. The startsna shell script has been updated to pipe stderr into the snalogger, for inclusion in the gateway log file. Previously, messages written to stderr appeared in the window that the startsna command was issued from, and often were lost. 1183197 (esc 11280): rjesend became inactive when using dispatching program When output jobs are received by the RJE node using a dispatching program, the rjesend program gets an error: "rjesend: SNA RJE Link: on machine: is not active" However, the problem does not appear if the registered dispatcher program on .disp. at /var/spool/rje/SUNHOST/ is not used. A change was made to the RJE gateway so that when an Attention ID message is received from the client, a read will always then be issued to the client. (Rev 11) -------- 1156913 (esc 8123): allow client to send Query Reply For LU type 3, the sna3274 gateway automatically sent a LUSTAT with CD to the host when a message with CD, such as Read Partition Query, was received. So a client could not send a Query Reply. The gateway was changed to pass the Read Partition Query through to the client. 1156914 (esc 8124): allow client to send Bid response For LU type 3, the sna3274 gateway automatically sent a positive response to a Bid. So a client could not control the Bid response. The gateway was changed to pass the Bid through to the client. A new environment variable, SNA3274_PASS_PRTR_BID, must be defined to enable this option. SNA3274_PASS_PRTR_BID cannot be defined when using pe3287. 1164780 (esc 9146): sna3274 gateway sends Termself in sscp-lu state sna3274 now checks to see if there is an active LU-LU session before it sends a Termself message. If not, it will send an offline Notify message. 1173757 (esc 10177): Pressing the ATTN key does not produce an action The SNA 3270 gateway was not always sending a SIGNAL to the host after it received an ATTN key message from the te3278. (Rev 10) -------- 1159303 ======= Under Solaris 2.3 from a 'rlogin' session, starting the SNA RJE application results in an "accept()" socket connection failure from the SNA RJE client to the 'sna3770' gateway. However, when on a local console window and executing the SNA RJE application, everything works fine. (Rev 09) -------- 1169810: ======= Make the script "backoutpatch" work correctly. Correct the bug where after backoutpatch was run the entire package was removed along with the patch revision which was specified to backoutpatch. 1162509: ======= The SNA RJE gateway is started and RJE is brought up. It binds all the LU's and signs on to JES. The 6 reader jobs are started and 4 of them complete. The remaining two jobs just stay in the input queue. There was a contention conflict between the IBM mainframe and SNA RJE. Both were trying to send and the "half-duplex" mode within SNA was violated. 1147829: ======= The customer runs tn3270 IBM sessions + 1 pe3287 using TCP over X.25 to a remote gateway. If the local X.25 link fails the remote X.25 detects the loss of the virtual connections but does NOT clear the TCP connections to the SNA3270 gateway. As a result all of the LU's are still active and when the X.25 link is restored they cannot be accessed. Also all of the licenses are still checked out. The setting TCP "keep_alive" was inserted into the gateway. 1144193: ======= Fixes to sna3274_3770 to correct protocol synchronization between pe3287 and sna3274 gateway process. This mis-synchronization causes pe3287 to panic and core dump. Also, SNA segmentation of SNA RUs fails in ALL emulators which connect the SunLink 8.0 FCS 'sna3274'/'sna3770' gateway. 1145608: ======= SNA RJE 8.0 was getting intermittent SNA chaining and sequence errors. 1146584: ======= SNA RJE 8.0 was getting intermittent data loss from the IBM mainframe. 1139736: ======= Cross-Domain CICS applications need to receive TERM-SELF and SESSEND to terminate user sessions. The Cross-Domain IBM environment in this case has CICS running on one IBM mainframe and VTAM on another IBM mainframe. Turns out that the TERM-SELF may fix termination of Active LU sessions in non-Cross Domain applications. If there are problems encountered then this option can be activated. If there not problems, then there is no reason to activate the TERM-SELF option. 1147991: ======= Non-graceful termination of SNARJE emulator leaves LU's in use. This is fixed by activation of the TERM-SELF feature described above. 1147412: ======= The following shell scripts fail while running under Solaris 2.3: startsna, stopsna, startsnarje, stopsnarje, traceon, traceoff, rjetraceon, rjetraceoff. 1147252: ======= 'sna3770' gateway program may hang after bringing client down and then up. This turned out to be fixed by Bug Id #1147991 above. Patch Installation Instructions: -------------------------------- Special Install Instructions: ----------------------------- To activate the Term-self feature, re-configure the SNA3270 gateway using the 'snopts' program. Add the following entry to your "c3274." file: termself on