Patch-ID# 111344-15

NOTE:
***********************************************************************
READ THE TERMS OF THE AGREEMENT ("AGREEMENT") IN THE LEGAL_LICENSE.TXT
FILE CAREFULLY BEFORE USING THIS SOFTWARE. BY USING THE SOFTWARE, YOU
AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE
TERMS, PROMPTLY DESTROY THE UNUSED SOFTWARE.
***********************************************************************

Keywords: sunwcorpc sunwcorpx panic kmem_flags ops osi_trace nui llc
Synopsis: OSI 9.0 patch
Date: Dec/12/2005


Install Requirements: NA                      
                      
Solaris Release: 8 9 10

SunOS Release: 5.8 5.9 5.10

Unbundled Product: Solstice/OSI

Unbundled Release: 9.0

Xref: 

Topic: 

Relevant Architectures: sparc

BugId's fixed with this patch: 2124865 4328759 4432152 4434310 4434330 4434350 4434849 4434902 4435519 4444330 4451597 4472036 4478019 4481196 4499181 4518654 4519175 4710420 4752164 4786783 4804851 4838590 4841497 4876546 4883854 4886775 4889189 4889203 4904265 4904289 4928254 4933027 4935855 4938187 4954307 4954443 4963625 4980748 4983864 5069468 6177563 6197103 6224991 6226189 6231429 6236190 6244906 6310987 6328591 6345559

Changes incorporated in this version: 6310987 6328591 6345559

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

/etc/SUNWconn/osinet/localbind
/usr/kernel/drv/clns
/usr/kernel/drv/llc
/usr/kernel/drv/oclt
/usr/kernel/drv/oopi
/usr/kernel/drv/otk6
/usr/kernel/drv/otmr
/usr/kernel/drv/otpi
/usr/kernel/drv/rk6tr
/usr/kernel/drv/sparcv9/clns
/usr/kernel/drv/sparcv9/llc
/usr/kernel/drv/sparcv9/oclt
/usr/kernel/drv/sparcv9/oopi
/usr/kernel/drv/sparcv9/otk6
/usr/kernel/drv/sparcv9/otmr
/usr/kernel/drv/sparcv9/otpi
/usr/kernel/drv/sparcv9/rk6tr
/usr/kernel/strmod/clnstpi
/usr/kernel/strmod/fcmod
/usr/kernel/strmod/s_npi
/usr/kernel/strmod/sparcv9/clnstpi
/usr/kernel/strmod/sparcv9/fcmod
/usr/kernel/strmod/sparcv9/s_npi
/usr/lib/libosiaddr.a
/usr/lib/osiaddr.so.1
/usr/sbin/osilogd
/usr/sbin/osinetd
<install_dir>/SUNWconn/man/man1/osi_decode.1m
<install_dir>/SUNWconn/man/man1/osi_ping.1m
<install_dir>/SUNWconn/man/man1/osi_trace.1m
<install_dir>/SUNWconn/man/man1/osidump.1m
<install_dir>/SUNWconn/man/man1/osilogd.1m
<install_dir>/SUNWconn/man/man1/osinetd.1m
<install_dir>/SUNWconn/man/man1/ositool.1m
<install_dir>/SUNWconn/osinet/bin/ops
<install_dir>/SUNWconn/osinet/bin/osi_decode
<install_dir>/SUNWconn/osinet/bin/osi_ping
<install_dir>/SUNWconn/osinet/bin/osi_trace
<install_dir>/SUNWconn/osinet/bin/osidump
<install_dir>/SUNWconn/osinet/bin/ositool
<install_dir>/SUNWconn/osinet/bin/sparcv9/ops
<install_dir>/SUNWconn/osinet/bin/sparcv9/osi_decode
<install_dir>/SUNWconn/osinet/bin/sparcv9/osi_ping
<install_dir>/SUNWconn/osinet/bin/sparcv9/osi_trace
<install_dir>/SUNWconn/osinet/bin/sparcv9/osidump
<install_dir>/SUNWconn/osinet/example/apli/bin/ex_initiator
<install_dir>/SUNWconn/osinet/example/apli/bin/ex_responder
<install_dir>/SUNWconn/osinet/example/apli/bin/sparcv9/ex_initiator
<install_dir>/SUNWconn/osinet/example/apli/bin/sparcv9/ex_responder
<install_dir>/SUNWconn/osinet/example/clns/bin/bind_clns
<install_dir>/SUNWconn/osinet/example/clns/bin/opt_clns
<install_dir>/SUNWconn/osinet/example/clns/bin/sparcv9/bind_clns
<install_dir>/SUNWconn/osinet/example/clns/bin/sparcv9/opt_clns
<install_dir>/SUNWconn/osinet/example/libosi/bin/sparcv9/tbind
<install_dir>/SUNWconn/osinet/example/libosi/bin/sparcv9/uselib
<install_dir>/SUNWconn/osinet/example/libosi/bin/tbind
<install_dir>/SUNWconn/osinet/example/libosi/bin/uselib
<install_dir>/SUNWconn/osinet/example/rfc1006/bin/rfcclient
<install_dir>/SUNWconn/osinet/example/rfc1006/bin/rfcserver
<install_dir>/SUNWconn/osinet/example/rfc1006/bin/sparcv9/rfcclient
<install_dir>/SUNWconn/osinet/example/rfc1006/bin/sparcv9/rfcserver
<install_dir>/SUNWconn/osinet/example/tli/bin/sparcv9/tclient
<install_dir>/SUNWconn/osinet/example/tli/bin/sparcv9/tclient-async
<install_dir>/SUNWconn/osinet/example/tli/bin/sparcv9/tclient-cltp
<install_dir>/SUNWconn/osinet/example/tli/bin/sparcv9/tserver
<install_dir>/SUNWconn/osinet/example/tli/bin/sparcv9/tserver-cltp
<install_dir>/SUNWconn/osinet/example/tli/bin/tclient
<install_dir>/SUNWconn/osinet/example/tli/bin/tclient-async
<install_dir>/SUNWconn/osinet/example/tli/bin/tclient-cltp
<install_dir>/SUNWconn/osinet/example/tli/bin/tserver
<install_dir>/SUNWconn/osinet/example/tli/bin/tserver-cltp
<install_dir>/SUNWconn/osinet/lib/libapli.a
<install_dir>/SUNWconn/osinet/lib/libapli.so.1
<install_dir>/SUNWconn/osinet/lib/libosi.a
<install_dir>/SUNWconn/osinet/lib/libosi.so.1
<install_dir>/SUNWconn/osinet/lib/sparcv9/libapli.a
<install_dir>/SUNWconn/osinet/lib/sparcv9/libapli.so.1
<install_dir>/SUNWconn/osinet/lib/sparcv9/libosi.a
<install_dir>/SUNWconn/osinet/lib/sparcv9/libosi.so.1

Problem Description:

6345559  Bug 6345559: OSI 9.0 tcp connections can be left in close_wait state
 
6328591  Bug 6328591: Since OSI 9.0 patch 111344-13 there is an issue with "long" NET NSAPs in ositool.
 
6310987  Bug 6310987: TLI example transfer the files corrupted
 
(from 111344-14)
 
 
6226189 OSI 9.0 rfc1006 resources lost if no route available
 
(from 111344-13)
 
 
4328759 Problems with ISO-TSAP sockets on OSI 8.1.1
 
4710420 OSI 9.0 patch 02 ositool makes a core under some circumstances
 
6197103 Panic in OSI 8.1.1 presentation layer oopi:psddta+0x5d8
 
6231429 OSI 9.0 bad trap type=31 at oopi:npidown+0x1b4
 
2124865 Solstice OSI 8.1.1 transport context busy
 
(from 111344-12)
 
6236190 Solstice OSI 9.0 patch required for Solaris 10 compatability
 
6177563  OSI 9.0 : osilogd cores when FTAM or CMIP is started
 
6224991  osilogd : error messages on opening mailboxes appear sometimes in /var/adm/messages
 
6244906  Abuses of cred_t in OSI drivers cause "missing privilege "sys_devices" errors on osinetd start S10
 
(from 111344-11)
 
6177563 OSI 9.0 : osilogd cores when FTAM or CMIP is started
 
(from 111344-10)
 
5069468 null pointer panic in osiamx (oopi) rk6decodedata() due to tcp urgent data
 
(from 111344-09)
 
4954443 oopi panic when ActivateOsiam called for up interaction with incorrect environme
 
4889203 osi 9.0 rejects incoming rfc1006 ftam connections since patch -04 is installed .
 
(from 111344-08)
 
 
4980748 OSI needs to be able to pass NUI to x25
 
4983864 osi 9.0 must not compute the packet length from dlp->unitdata_ind
 
4841497 OSI 9.0: Enable immediate NC release after TP release
 
(from 111344-07)
 
 
4954307 bad trap in npidown (osi 9.0)
 
4963625 panic in Canputnext+0x54 called from rk6trace_sendMsgToOsiTrace+0x88
 
4935855 "BAD TRAP occurred in module "oopi" due to an illegal access to a user address."
 
(from 111344-06)
 
 
4928254 tcp keep alive does not work on OSI 9.0
 
4752164 llc driver requires port of fix for bug 4713774 and related concerns.
 
4435519 2nd instance of osi_trace on llc driver kills output of 1st instance
 
4889189 ositool core dumps when trying to change rfc1006 apps sels
 
4786783 Solstice OSI or the RK6 driver could negotiate a more performant TPDU size
 
4938187 RFC1006 (TP0) implementation does not fully comply with the lastest standard
 
4876546 OSI 9.0 can never regain a lost license
 
4933027 osi panic in  "OSIAMXLOCK"
 
4904265 ositool core dumps when initializing rfc1006 selectors
 
4904289 OSI 8.1.1 panics in oopi:refusal+0x40 with 105471-09 or -10
 
(from 111344-05)
 
 
4886775 issues in postinstall of SUNWcosia in patch 04
 
4889203 osi 9.0 rejects incoming rfc1006 ftam connections since patch -04 is installed .
 
(from 111344-04)
 
 
4883854 patch 111344-03 is a bad patch
 
(from 111344-03)
 
4838590 OSI patch should add_drv rk6tr during postinstall if driver not present
 
4804851 APLI RFC1006 subnet does not allow multiple local TSELs
 
4518654 osi tli application randomly gets T-DISCONNECT with user data reason=fc
 
(from 111344-02)
 
 
4434849 FTAM Initiator using the libftam API brakes after a while with error  1011
 
4499181 OSI 9.0 osilogd cores while starting ftam
 
4481196 OSI 9.0 has errors in the installation of the man pages
 
4519175 osi doesn't send disconnection, on rfc1006
 
4478019 bad trap in oopi:osfctx() 64bit when performing specific ops internal cmds
 
4444330 ap_rcv return bad value in flag argument
 
 
(from 111344-01)
 
4451597 OSI 9.0 package SUNWcorpc removal is incomplete (will DISTURB next reboot)
 
4434350 ftam transfer fails when recovery is on
 
4432152 OSI tli oclt regression tests fTLI_apOpt06 panic system with kmem_flags set
 
4434310 ops output is duplicated at end of line when line exceed maximum
 
4434330 ops oopi and debug on produces panic during ftam transfer
 
4434902 osi_trace with -x option does not filter packets properly
 
4472036 Message "OSIAM CRASH (wuput)" should be clarified now that it will be seen often

Patch Installation Instructions:
--------------------------------
Refer to the Install.info file for instructions on using the
generic 'installpatch' and 'backoutpatch' scripts provided with
each patch.  Any other special or non-generic installation
instructions should be described below as special instructions.

Special Install Instructions:
-----------------------------
 
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
SUNWcorpx (64-bit OSI-RPC libraries):
A patch is not capable of installing or patching a package
not already present on the target system, thus this patch cannot
be used to distribute the new SUNWcorpx package, a 64bit implimentation
of the SUNWcorpc package, which some Customers may require.
Sun has made this additional package available via the following
URL, it is advised that this package be installed only if 64 bit
versions of the OSI-RPC library routines are specifically required.
 
http://www.sun.com/software/osi/index.html
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
If you add the following line in /etc/system
 
set oopi:RK6_PduSz_Refuse = 0
 
and then reboot the machine,
 
Then you will be able to accept in RFC1006 in incoming CR pdu
size greater than 2048 and negotiate toward 2048.
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
If you add the following line in /etc/system
 
set oopi:Osi_RFC1139_Supported = 0
 
and then reboot the machine,
 
Then you will be able to have nsap finishing with octet equal to 1f or 1e
But compatibilty with osi_ping from SUNLINK OSI 7.x will no longer be
guaranteed.
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
In normal use OSI on X25 accept X25 connections without
checking that the address match with the one configured in ositool.
Now, if the file:
/etc/SUNWconn/osinet/listen.matchonly
exists (to be created manualy with a touch for example) then OSI will
refuse incoming X25 connections not matching
with the one configured in ositool/stack manager/device/x25
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
If you add the following line in /etc/system
 
set oopi:RFC1006_KeepAlive = 1
 
and then reboot the machine,
 
then the rfc1006 connections of the stack will take advantage of the
tcp_keepalive_timer
you can control the value of this timer using the command ndd.
 
For example doing :
 
ndd -set /dev/tcp tcp_keepalive_interval 10000
ndd -set /dev/tcp tcp_ip_abort_interval 10000
 
will make connections to be closed after less than 30sec if the
network cable is disconnected. Caution, this can cause some unexpected closure
of connections over tcp when traffic is heavy.
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
You can now have trace on RFC1006. For this you will need to add the
following line to the /etc/SUNWconn/osinet/osinetd.conf then reboot
the machine. (NOTE: this line is best placed immediately following the
 trace off line).
 
trace  "/dev/rk6tr"
 
After that you will be able to trace RFC1006 connections doing,
for example, the following :
 
/opt/SUNWconn/osinet/bin/osi_trace -i /dev/rk6tr tcp tp ses pres
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
The OSI stack will fail to restart after being shutdown using the
/etc/init.d/osinet or /etc/rc2.d/S90osinet scripts or while being
restarted from ositool, IF ANY application or service layered above
the OSI stack is not shutdown prior to the restart attempt.
Following such a failure to unload, some OSI kernel modules will not
have unloaded, and may need to be manually unloaded after all applications
and services using the stack have been stopped.
 
Applications or services layered above the OSI stack include,
but are not limited to the following system services listed
here with their associated stop commands:
FTAM /etc/rc3.d/S147osiftrd stop
CMIP /etc/rc2.d/S97osimcs stop
OSIRPC /etc/rc2.d/S95osirpc stop
 
It is to be noted, that if OSI-RPC is not explicitly needed, but the
package SUNWcorpc is needed, the start script /etc/rc2.d/S95osirpc should
be disabled. (Some Customers may require certain address translation functions
in the osiaddr.so library, but not require the OSI-RPC functionality).
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
The fix for bugId 4804851 breaks the compatibility osi 9.0 with ftam 8.0.3.
If you need to use ftam 8.0.3 with osi 9.0, you need to deactivate the fix
for the bug 4804851. For this, add this line in /etc/system :
 
set oopi:compat_ftam803 = 1
 
and reboot your machine. (fix for bugId 4889203)
 
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
After patch 06, the Application Selectors window is no more available. (bug fix
for 4889189). This windows is not used in OSI 9.0, because CMIP 9.0 and FTAM 9.0 now contain the Presentation and Session layer and so, values in this window don t mean anything.
 
Note : if you want to use FTAM 8.0.3 with OSI 9.0, and have set the line
set oopi:compat_ftam803 = 1
in /etc/system,
then, the window Application Selectors will appear again, to be able to modify selectors for FTAM 8.0.3
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 
The fix for 4980748 adds a mechanism to enable a network user identifier (nui) to be sent when connecting over X.25.
 
Edit /usr/kernel/drv/oopi.conf and add in the nui as in the example below:
 
name=oopi parent=pseudo NUI= 0x4142434445464748494a4b4c ,
 
NUI must be in uppercase, the value must be a quoted string containing a hex number beginning with 0x. Do not remove the semi-colon at the end of the entry.
 
The system must be rebooted for the change to take effect.
 
The system console should report that the nui has been recognised with the message:
 NOTICE: NUI found in oopi.conf

README -- Last modified date:  Monday, December 12, 2005

