***************************************** ECO SUMMARY INFORMATION ***************************************** Release Date: January 6, 2005 Kit Name: AXP_DNVOSIECO03-V731 Kit Applies To: OpenVMS Alpha V7.3-1 Approximate Uncompressed Kit Size: 60896 Blocks Installation Rating: INSTALL_2 Kits Superseded By This Kit: AXP_DNVOSIECO02-V0703-1 Dependencies: None System Reboot Necessary: Yes Checksum of Compressed Kit: 2303113662 DECnet-Plus_for_OpenVMS_Alpha_______________________ Release Notes for V7.3-1 ECO03 December 2004 This ECO applies to DECnet-Plus V7.3-1 Alpha systems only. To verify that you are running the correct version of DECnet-Plus, enter the following NCL command: NCL SHOW IMPLEMENTATION The version should read: DECnet-Plus for OpenVMS Version V7.3-1. ________________________________________________________________ © Copyright 2004 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. This document was prepared using VAX DOCUMENT Version 2.1. 1 Installation Install this kit with the POLYCENTER Software Installation utility (PCSI) by logging into the SYSTEM account and entering the following command at the DCL prompt: $ PRODUCT INSTALL DNVOSIECO03/SOURCE=[location of the .PCSI file] ________________________ Note ________________________ For the corrections to take effect, you must reboot the system. If you are a member of a VMScluster, you must reboot the entire cluster. You can postpone rebooting if it is not convenient for you to do so now; however, the new drivers will not take effect until after a reboot. ______________________________________________________ 2 Corrections for Base Components 2.1 SYS$LIBRARY:CDI$SHR.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:54:00.67 ECO02: - Correctly preserve modified checkpoint interval across system restarts. - Checkpoint immediately after name change when Domain is primary. - Modified code to return first portion of IP fully- qualified name as the synonym. - Improved sticky bit processing. Corrected error seen when full name was changed but synonym was not. The synonym was incorrectly referencing the old full name. - Added ability to close NET$LOCAL_NAME_DATABASE.DAT after each use (see NET$LOGICALS.COM for more information). ECO01: - Improve CDI cache short term checkpoint interval processing. 1 2.2 SYS$SYSTEM:CTF$DCP.EXE: Image Identification: "V7.3-1 ECO03 22-NOV-2004 06:56:18.35 ECO03: - Prevent possible system crash by correcting deallocation logic for trace records and CTF work queue elements in CTF$DISPATCH. ECO01: - Prevent possible system crash with invalid tracepoint address. - Prevent possible access violation on an illegal command. - Change FAB and RAB parameters to increase disk I/O. 2.3 SYS$SYSTEM:DTSS$SERVICE.EXE: Image Identification: "DECDTS V2.1-0" 22-NOV-2004 06:59:22.60 ECO03: - Removed the static device tables formerly used to determine the devices used by DTSS. Now, DTSS uses the $DEVSCAN and $GETDVI system services to build a list of devices that have a device class of DC$SCOM (synchronous communication device), a device characteristic of DEV$V_ NET, a device status of UCB$V_ONLINE and UCB$V_TEMPLATE, and a device name in the form _xxy0:. The logical name DTSS$ETHERNET_DEVICE can be used to provide a list of devices that DTSS should NOT use. All devices must be in the form _xxy0:. The string can contain spaces and other text which is ignored by DTSS. For example, the following command tells DTSS not to use the _EIA0: and _FWA0: devices. $ DEFINE/SYSTEM DTSS$ETHERNET_DEVICE "Don't use _EIA0: and _FWA0: " - Corrected a problem that caused a subsequent device to remain uninitialized if a lower device of the same type was offline or unavailable. 2 - Corrected a problem that caused programs using the JAVA runtime code to go into a COM state loop when the TDF change occurs. A TDF change notification event was added. Also, there are some VMS/THREADS corrections that are related to this problem. - Lock certain code, data, and linkage sections into the process working set to prevent a PGFIPLHI system crash seen primarily on systems running with small working sets. ECO02: - Added the RESIDENT attribute to several high-IPL code psects to prevent PGFIPLHI crash at high IPL. - Corrected display of the next tdf change attribute when the next change is not in the current year. Since only current year values can be known, the code now displays "." - Corrected a problem with the show dtss all command that occasionally caused the invalid message detected attribute to have a negative number. - Prevent hang on show dtss all command. 2.4 SYS$LOADABLE_IMAGES:LES$LES_V30.EXE: Image Identification: "LES V3.0-2" 22-NOV-2004 06:56:40.79 ECO01: - Remove gratuitous IOLOCK8 acquisition and release. 2.5 SYS$LIBRARY:NCL$GLOBALSECTION.DAT: Image Identification: 16-NOV-2004 10:59:47.98 ECO02: - Added a CMIP code for "OpenVMS I64" systems. Changed CMIP code for "OpenVMS AXP" systems to "OpenVMS Alpha" systems. Added SHUT ALIAS PORT command. - Updates for X.500 and X.400 have been included. ECO02: - Updates for X.25 on OpenVMS Alpha and X.400 have been included. 3 2.6 Updates Made to SYS$HELP:NCLHELP.HLB: File Identification: 14-JUL-2003 16:05:13.49 ECO03: - Replaced the Directory_Module help topic with new help information for the HP OpenVMS Enterprise Directory product (HP's implementation of the ITU-T X.500 Recommendations for OpenVMS). - Added verb-based help information about the DECdns entities manageable via the NCL interface. ECO02: - Add help for SHUT ALIAS PORT command. - Document use of the NET$APPLICATION_SHUTDOWN.TEMPLATE file. - Added a description of the NET$APPLICATION_SHUTDOWN, NET$LOCAL_NAME_DATABASE, and NET$LOCAL_CLOSE logicals. - Add examples of decnet_register's command line interface. - Updated TOWERSET data type help to include IP tower description. - Clarify the FLUSH command description. Added information about running CDI_CACHE_DUMP to interpret the last CDI checkpoint. - Clarify action taken by DELETE SESSION CONTROL BACKTRANSLATION SOFTLINK command. - Clarify the purpose of the SHOW SESSION CONTROL BACKTRANSLATION SOFTLINK command. - Add new material to the help text for the UPDATE SESSION CONTROL BACKTRANSLATION SOFTLINK and UPDATE SESSION CONTROL TOWER MAINTENANCE commands. ECO01: - Add a loopback example using a DOMAIN fullname. - Provide examples of adding proxies using the DOMAIN, LOCAL, and DECdns fullnames in the NETWORK_MANAGEMENT ACCESS_CONTROL section. - Modify "set dtss servers required" example because the "s" was missing, and the command doesn't parse without it. 4 2.7 SYS$LIBRARY:NCLSHR.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:54:03.39 ECO02: - Corrected backtranslation of IP address so address displays now display the fully qualified host name following the IP address. (See also NET$SESSION_ CONTROL.EXE.) If a BIND server is not available and you still want to see the fully qualified name, do the following: 1. Modify the local IP host database: $ tcpip set nohost trundy $ tcpip set host trundy.xpr.eds.vendors.cpqcorp.net - /addr=161.114.95.148/alias=trundy 2. Flush the old cache entry so the next lookup will get the fully qualified name. ECO01: - Correct the order of the IP address display now that the ISO format is used to store the address within the towerset. 2.8 SYS$SYSTEM:NET$ACP.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:58:24.45 - Include for compatibility with CDI$SHR. 2.9 SYS$LOADABLE_IMAGES:NET$ALIAS.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:56:23.71 ECO02: - Include support for shut [node node-id] alias port port-name. See NCL help for more information. - Make exclusive mode lock conversion synchronous in Alias$SendVB to prevent hang while shutting alias. - Make exclusive mode lock conversion synchronous in Alias$Update_App to prevent possible hang while enabling (or re-enabling) alias port. 5 ECO01: - Prevent hangs on calls to $ENQ system service because a thread of execution was running at an elevated IPL. 2.10 SYS$MANAGER:NET$APPLICATION_SHUTDOWN.TEMPLATE: File Identification: 19-AUG-2002 13:17:17.16 ECO01: - New template. Example of shutting down applications prior to network shutdown. Placing application shutdown commands in SYSHUTDWN.COM causes NET$SHUTDOWN to hang because NET$SHUTDOWN is called before the application shutdown commands are encountered. 2.11 SYS$SYSTEM:NET$CCR.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 07:08:46.54 - Include for compatibility with NET$MOP. 2.12 SYS$MANAGER:NET$CONFIGURE.COM: File Identification: 16-DEC-2004 07:57:56.41 ECO03: - Modified the actions taken when renaming the local node. Previously, NET$CONFIGURE flushed the local node's former cache entry and waited for CDI to write out the cache file regardless of the namespace being used. Now, NET$CONFIGURE only waits for a cache writeout if DECdns is new to the search path or if DECdns is in the existing search path and the DECdns name has been changed. - Modified the checkpoint wait code discussed in the previous item to substantially shorten the wait time for CDI to write out the cache. This was done by executing a SET SESSION CONTROL NAMING CACHE CHECKPOINT INTERVAL command prior to waiting for CDI to write out the cache file. This command has the side effect of causing an immediate cache checkpoint. The value used in the command has not changed and is either the default (8 hours) in a BASIC configuration or the value you enter in an ADVANCED configuration. This command was issued in 6 prior versions later in the procedure but has been moved here to force the cache writeout. - Added a test to ensure that the node registration was successful before forcing the naming cache checkpoint. If the DECdns registration fails, NET$CONFIGURE now displays a warning that YOU MUST NOT REBOOT the system until this issue is resolved. - Corrected a problem that occurred in an initial run of NET$CONFIGURE or a run when the network was shutdown. After completing the configuration tasks, NET$CONFIGURE improperly called NET$STARTUP (by passing an incorrect parameter to STARTUP.COM). The call caused NET$STARTUP to skip the application startup phase. The call has been corrected and the applications are now started. ECO02: - Added a license check to NET$CONFIGURE when a DECdns server is created. Previously, the server could be created and invoked before it would fail due to an invalid license. Now, NET$CONFIGURE checks for the DVNETEXT license on Alpha and I64 systems before allowing the user to proceed with a DECdns server configuration. - When using Option 2 the towers weren't being updated correctly. NET$CONFIGURE was deleting them because nsp_ wanted and osi_wanted symbols weren't set. - Corrected error that caused the Phase IV prefix to be ignored when changing the AFI to any value other than 49. - Correct towers when running with an AFI other than 49 and a Phase IV compatible address, the preDSP portion of the Phase IV prefix was dropped from the towers. - When an extended address was used the Phase IV address is 0.0 so the towers incorrectly updated using the AA- 00-04-00-xx-xx form of the node ID. ECO01: - Change NET$CONFIGURE option 1. - Remove obsolete decnet_loc_register calls. - Display a warning that the system must be rebooted if the DECnet address has been changed. - Make sure that all temporary files from an aborted session will be deleted. 7 2.13 SYS$UPDATE:NET$CONFIGURE_UPGRADE.COM: File Identification: 16-DEC-2004 07:58:01.68 - Include for compatibility with NET$CONFIGURE.COM 2.14 SYS$LOADABLE_IMAGES:NET$DRIVER.EXE: Image Identification: "X-3" 22-NOV-2004 06:58:15.01 ECO03: - Added spinlock synchronization to two routines responsible for determining that a NET device's connection count has gone to zero. Before the spinlock synchronization, each routine could independently detect the condition and attempt to close the association at the same time. This resulted in a hung NET device. - Improved the reporting of connection timeouts in the transmit and receive queue processing code. The code now returns the traditional, more specific timeout error status SS$_LINKEXIT instead of the generic error status SS$_FILNOTACC. - Corrected a problem causing a process using the NET device to hang in the RWAST state. This problem was seen when multiple deassign calls were made for a connection instance. (For example, a remote system requesting a disconnect at the same time as the local system.) - Corrected a problem seen when a user program received notification of I/O completion using LOCAL event flags. Occasionally, the event flag was set before the IOSB and the data buffer were properly set. ECO01: - Remove gratuitous IOLOCK8 acquisition and release on I/O completion. 2.15 SYS$MANAGER:NET$LOGICALS.TEMPLATE: File Identification: 10-SEP-2002 10:28:53.72 ECO02: - Increased default BYTLM for MOP. 8 - New logical, NET$LOCAL_CLOSE, has been introduced and if set to 1 forces a close of NET$LOCAL_NAME_ DATABASE.DAT after each reference. If logical is not defined, then the database is left open. The use of the logical might effect performance but it prevents problems associated with constantly open files (possible merge problems if database is moved). (See Section 6 for additional information.) ECO01: - Add example of shutting down applications prior to network shutdown. 2.16 SYS$SYSTEM:NET$MGMT.EXE: Image Identification: "V1.0" 22-NOV-2004 06:58:12.80 ECO03: - Modified internal tables to support more than 500 ports. Previously, the tables were hard-coded to support 500 ports and a system crash occurred if the table size was exceeded; they are now allocated dynamically. 2.17 SYS$SYSTEM:NET$MOP.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 07:08:33.88 ECO02: - Corrected a routine to explicitly set IPL to 0 before issuing thread signal calls that require an IPL of 0. Also, corrected which thread signal calls were used. This problem caused the MOP process to hang when it was trying to load multiple servers simultaneously. ECO01: - Correct the buffer length derived from the terminal server's SYSID message for MOP Console Carrier Protocol used by TSM. 9 2.18 SYS$LOADABLE_IMAGES:NET$MOPS0.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 07:08:38.25 - Include for compatibility with NET$MOP. 2.19 SYS$LOADABLE_IMAGES:NET$OSDRIVER.EXE: Image Identification: "X-3" 22-NOV-2004 06:58:32.94 ECO03: - Improved the reporting of connection timeouts in the transmit and receive queue processing code. The code now returns the traditional, more specific timeout error status SS$_LINKEXIT instead of the generic error status SS$_FILNOTACC. - Corrected a problem causing a process using the OS device to hang in the RWAST state. This problem was seen when multiple deassign calls were made for a connection instance. (For example, a remote system requesting a disconnect at the same time as the local system.) - Corrected a problem seen when a user program received notification of I/O completion using LOCAL event flags. Occasionally, the event flag was set before the IOSB and the data buffer were properly set. - Corrected a possible double deallocation problem that occurred on incoming sessions where the remote session partner and the device driver simultaneously attempted to close the session. 2.20 SYS$LOADABLE_IMAGES:NET$OSVCM.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:57:53.89 ECO03: - Corrected a possible double deallocation problem that occurred on incoming sessions where the remote session partner and the device driver simultaneously attempted to close the session. 10 2.21 SYS$LIBRARY:NET$PROCESS_EMAA.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:52:35.87 ECO03: - Corrected a system crash caused by a problem with MCRP buffer allocation and initialization in the NET$EMAA_ Response routine. The buffer consists of a fixed length control block which includes a pointer to a variable length output string that is appended to the control block. The code was not properly initializing the output string pointer to null when the output string length was zero. - Corrected a system crash seen while managing a MOP entity. A block deallocation routine was running at an elevated IPL (IOLOCK8) when a page fault occurred. The elevated IPL is not required and was removed, thus allowing the page faulting to occur at a lowered IPL (IPL 11). ECO02: - Raise default CML BYTLM to allow NCL SHOW SESSION CONTROL to handle more than 1500 connections. 2.22 SYS$LOADABLE_IMAGES:NET$ROUTING_ES.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 07:10:30.64 ECO03: - Added a check for the supplied MAC address pointer to the LAN circuit receive completion code. Previously, if the MAC address pointer was invalid a system crash occurred. Now, the VCRP containing the invalid MAC address pointer is simply discarded. - Ensure that an FDDI circuit is enabled before sending the last chance ES_HELLO (for all bcst circuits). - Corrected a system crash seen when disabling alias ports. The code was not handling the case where there were no ports to disable. 11 - Corrected a system crash caused by improper integrity checking of incoming ES Hello messages. Also, if the integrity checking failed, a bugcheck was forced. This integrity check was corrected and the routine returns appropriate status instead of bugchecking. ECO01: - Remove gratuitous IOLOCK8 acquisition and release. 2.23 SYS$LOADABLE_IMAGES:NET$ROUTING_IS.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:56:38.10 ECO03: - Corrected a problem seen when an alias port is disabled. After the disable, the NSAPs associated with the alias port are still listed as a valid routing adjacency and data PDUs are still accepted. However, because the NSAPs are no longer available, several minutes of address unreachable pdu discard events (with a discard reason of destination address unknown) were seen. These messages continued until the adjacency's holding timer expired at which time the adjacency was finally deleted. The routing module now sends out an ES Hello message with the alias NSAPs marked with a holding time of zero. This causes routers to immediately delete the adjacency for the alias. - Deleted unnecessary Phase IV parameter checks when in an OSI-only host-based routing environment. - Modified the output of the SHOW ROUTING ALL command to omit all Phase IV parameters in a pure OSI host-based routing environment. - Change the default values for the routing characteristics manual L1 algorithm and manual L2 algorithm to link state. Using link state as the default prevents several dependencies on Phase IV information not provided in a pure OSI host-based routing environment. ECO02: - Raise the originating queue limit for broadcast circuits to correct performance problem. 12 2.24 SYS$LOADABLE_IMAGES:NET$ROUTING_VCM.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 07:10:25.46 ECO02: - Check the VCIB pointer first before deallocating the VCRP to prevent a possible system crash on shutdown because the port may have been in the process of being deallocated. 2.25 SYS$SYSTEM:NET$SERVER.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:58:58.90 ECO01: - Prevent possible %IPC-F-DCLSRVFAIL when the NETSERVER$TIMEOUT is set to zero. 2.26 SYS$LOADABLE_IMAGES:NET$SESSION_CONTROL.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:58:32.12 ECO03: - Corrected a rare SMP issue with cleanup of orphan sessions. Occasionally, a connect reject response is in the process of being delivered to the caller before the transport takedown has completed. In this case, the internal transport takedown event is completed directly to the caller instead of the connect reject. Because session control completion code did not expect this type of event, a crash occurred. - Corrected a problem seen when a user program received notification of I/O completion using LOCAL event flags. Occasionally, the event flag was set before the IOSB and the data buffer were properly set. - Modified how Session Control responds when a node's cache entry is stale (that is, the node name is found but the address is not reachable). Formerly, the node would remain unreachable until the cache was updated. Now, the cache is bypassed, the proper address found, and the cache is updated. 13 ECO02: - Correct some buffer sanity checking logic in the $IPC interface. - Corrected an IPL level problem that in turn caused session control to honor unreasonably large memory allocation requests from the $IPC interface. - Prevent possible double deallocation of a disconnect VCRP by dereferencing a pointer in the session port block immediately after the disconnect VCRP is completed. - Fix incoming alias table. All named objects were incorrectly assumed to be the TASK object. ECO01: - Remove gratuitous IOLOCK8 acquisition and release. - Correct IP address backtranslation to display the fully qualified host name in the following commands (see also NCLSHR.EXE); MCR NCL SHOW ADDR ... MCR NCL SHOW OSI TRANSPORT PORT * REMOTE RFC1006 IP ADDR ... MCR NCL SHOW OSI TRANSPORT LOCAL NSAP IP_ANY REMOTE NSAP * IP ADDR ... 2.27 SYS$STARTUP:NET$STARTUP.COM: File identification: 16-DEC-2004 07:58:00.18 ECO03: - Corrected a condition that caused NET$STARTUP to output several internal error messages to the SYS$SPECIFIC:[SYSEXE]STARTUP.LOG file when the STARTUP_ P2 system parameter was set to "PD". Also, changed copyright information. 2.28 SYS$LOADABLE_IMAGES:NET$TPCONS.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:58:29.41 ECO03: - Corrected a forced crash dump caused during network shutdown. The Deactivate TPCB routine was incorrectly called before the connection reached the UNBND state. This occurred because the calling code had attempted to UNBIND the PWIP driver at the same time that the PWIP 14 driver was shutting down. This resulted in an ERROR_ACK to the UNBIND request which was not properly handled. - Modified the code to correctly set up local IP address and TCP port fields. See also NET$TRANSPORT_OSI for more information about how this change allowed the correct local RFC1006 and remote RFC1006 IP address and port number characteristics to be displayed. - Modified the code to correctly handle a control block inconsistency seen during processing of an incoming disconnect when the local system is also initiating a disconnect (rather than force a system crash). - Corrected a self-imposed system crash seen during OSI transport disabling where, under certain timing conditions, a local control block being processed for deallocation was found to be still active. The block is now deactivated prior to deallocation. - Corrected a stale pointer problem when taking down a connection. Added a test of the pointer before using it to complete the take down. - Corrected a timing problem between TPCONS and TRANSPORT_OSI. Logic was improved to prevent timing- related problems between the two modules as they deallocate internal data structures. ECO02: - Removed sanity checking in DeallocateTPCB that was no longer compatible with newer HP TCP/IP Services for OpenVMS releases. - Clean up Connect Initiate error handling so that the code does not try to reference fields in a Connect Init structure that could not be allocated. - Remove a forced bugcheck on a change of address when the VCIB structure was removed in system shutdown. - Remove a forced bugcheck that occurred during connection takedown if a deferred transmit was pending. ECO01: - Reverse the IP address in the towerset from DNA format to use the ISO format (i.e., transmitted most significant byte first). 15 2.29 SYS$LOADABLE_IMAGES:NET$TRANSPORT_NSP.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:57:37.32 ECO03: - Corrected a code path used when the transmit window approached zero. In particular, this problem was seen when the RMS NETWORK_BLOCK_COUNT qualifier was set to 127 in an attempt to improve performance. Because this caused the transmit window to approach zero frequently, the incorrect code actually caused decreased performance. - Corrected several problems that prevented OSI-only host based routing (that is, Phase V link state routing) from operating correctly. - Corrected a system crash caused by a fork to 0 seen during retransmissions on high traffic LAN connections. The problem occurred when the LAN driver was completing the initial transmission request while NSP had already timed out and was trying to retransmit the data. - Corrected a problem resulting in poor throughput when NSP was using piggyback ACKs. The code now sends a standalone ACK if no data segment is queued for transmission. - Corrected a problem that caused circuit failover on a dual LAN connection system to fail when the NSP transport was in use. ECO02: - Reformat transmit VCRPs to prevent buffer possible buffer overflow which might in a very unusual case result in non-paged pool corruption. Also, modified how the variable-length area (headers and user data) of the VCRP are formatted to prevent the possibility of referencing a location outside the allocation block. ECO01: - Remove gratuitous IOLOCK8 acquisition and release. - Enlarge NSP OOOP cache from 7 to 32. 16 2.30 SYS$LOADABLE_IMAGES:NET$TRANSPORT_OSI.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:57:58.93 ECO03: - Corrected a system crash caused by a fork to 0 seen during retransmissions on high traffic LAN connections. The problem occurred when the LAN driver was completing the initial transmission request while NSP had already timed out and was trying to retransmit the data. - Corrected a session hang problem seen when a disconnect was received from the remote system and was being processed at the same time that a request to deaccess the NET channel came from the local system. - Corrected a double deallocation of the NCCB seen during the disabling of the OSI transport when DECnet is shutting down. - Modified the code to correctly display the local RFC1006 and remote RFC1006 IP address and port number characteristics instead of "" and "0" respectively. - Corrected a problem seen during connection takedown where the Remote Service Provider (RSP) list was in the process of being modified as it was referenced during the take down. Checking has been added to ensure the returned RSP structure is valid. ECO02: - Corrected a timing problem between TPCONS and TRANSPORT_OSI. Logic was improved to prevent timing- related problems between the two modules as they deallocate internal data structures. - Ensure that the TPCB structure is properly deallocated in the port deletion code responsible for the final rundown of DECnet over TCP/IP connections. - Ensure that all routines calling a NCCB queue manipulation routine have IOLOCK8. - Corrected the code to properly handle a rare situation that can occur if a request to transmit is made to routing and the permission is not granted until transport has begun to terminate a connection. A null buffer pointer was not being handled properly. Added 17 the same null pointer check to several other transport routines. - Reformat transmit VCRPs to prevent buffer possible buffer overflow which might in a very unusual case result in non-paged pool corruption. ECO01: - Remove gratuitous IOLOCK8 acquisition and release. 2.31 SYS$LOADABLE_IMAGES:SYS$NETWORK_SERVICES.EXE: Image Identification: "V7.3-1 ECO03" 22-NOV-2004 06:58:10.06 ECO03: - Corrected a system crash seen when using the NCL SHOW SESSION CONTROL PORT * command. The code was incorrectly releasing an internal data structure (but not the pointer to the structure) during port takedown while processing was in progress for the NCL command. - Corrected a system crash seen when CTF tracing was active during a shutdown of the OSI transport. During transport shutdown, the common code for handling trace terminations failed to verify the existence of the trace information buffer before using a pointer within the buffer. - Moved three routines from paged pool to non-paged pool. Memory availability in today's processors makes the small memory savings insignificant when compared with the performance improvement. - Update ECO number in the DECNET_VERSION item code to "00050F03". ECO02: - Update ECO number in the DECNET_VERSION item code. "00050500" was inadvertently used for ECO02. Note: "00050E03" was not used, "00050E04" was used for V7.3-1, "00050E05" was used for V7.3-1 ECO01, "00050E06" was used for V7.3 ECO03 for Alpha only, "00050E07" was used for V7.3 ECO04 for Alpha only. Future 7.3 ECOs, will use "00050Exx" (where xx is 08 or greater); future 7.3-1 ECOs, including ECO03, will use "00050Fxx" (where xx is 03 or greater). 18 ECO01: - Update ECO number in the DECNET_VERSION item code to "00050E05". 2.32 New Trace Images Included in SYS$LIBRARY for Compatibility: CTF$ALIAS_ANALYZE.EXE "X-2" 22-NOV-2004 06:56:37.62 CTF$DNA_ANALYZE.EXE "X-7" 22-NOV-2004 06:58:24.59 CTF$MOP_ANALYZE.EXE "V7.3-1 ECO03 22-NOV-2004 07:08:49.88 CTF$NSPTP_ANALYZE.EXE "X-2" 22-NOV-2004 06:57:51.65 CTF$OSITP_ANALYZE.EXE "I-10" 22-NOV-2004 06:58:23.33 CTF$SCL_ANALYZE.EXE "X-10" 22-NOV-2004 06:59:16.19 CTF$TPCONS_ANALYZE.EXE "I-5" 22-NOV-2004 06:58:39.41 CTF$VOTS_ANALYZE.EXE "X-7" 22-NOV-2004 06:58:44.03 3 DECdns Update 3.1 Files Patched or Replaced: SYS$COMMON:[SYSEXE]DNS$ADVER.EXE "V2.0-1" 22-NOV-2004 06:58:57.11 SYS$COMMON:[SYSEXE]DNS$CONTROL.EXE"V2.0-1" 22-NOV-2004 07:00:53.92 SYS$COMMON:[SYSEXE]DNS$SERVER.EXE "V7.3-1 ECO03" 22-NOV-2004 07:00:29.31 SYS$COMMON:[SYS$LDR]SYS$NAME_ "V2.0-1" 22-NOV-2004 SERVICES.EXE 06:59:22.42 3.2 Problems Corrected in DECdns Images ECO03: - Removed the static device tables formerly used determine the devices used by DNS. Now, DNS uses the $DEVSCAN and $GETDVI system services to build a list of devices that have a device class of DC$SCOM (synchronous communication device), a device characteristic of DEV$V_ NET, a device status of UCB$V_ONLINE and UCB$V_TEMPLATE, and a device name in the form _xxy0:. 19 The logical name DNS$ETHERNET_DEVICE can be used to provide a list of devices that DNS should NOT use. All devices must be in the form _xxy0:. The string can contain spaces and other text which is ignored by DNS. For example, the following command tells DNS not to use the _EIA0: and _FWA0: devices. $ DEFINE/SYSTEM DNS$ETHERNET_DEVICE "Don't use _EIA0: and _FWA0: " - Corrected a problem that caused a subsequent device to remain uninitialized if a lower device of the same type was offline or unavailable. - Corrected a problem that could cause more than three copies of the DNS$CHFAIL.LOG to be present on the system. This condition occurred when the file version of DNS$CHFAIL.LOG cycled through the upper version boundary (that is, cycling from version 32767 back to version 1). The code now correctly handles this situation and maintains three copies of the file. File versions are rolled over when the file version reaches 32000. For example, if versions 31998, 31999, and 32000 are present, the code renumbers the files to version 1, 2, and 3, respectively. - Corrected a problem that could cause multiple copies of the file used to maintain the current cache file version (SYS$SYSTEM:DNS$CACHE.VERSION) to be present on the system. This condition occurred when the file version of DNS$CACHE.VERSION cycled through the upper version boundary (that is, cycling from version 32767 back to version 1). The code now correctly handles this situation and maintains a single version of the file. - Corrected a system crash situation during DNS rundown caused by using a stale (that is, null) pointer. The code now checks the pointer before using it. ECO02: - Corrected a problem that caused the transaction log to be retained when deleting a secondary clearinghouse. - Fix memory leak in DNS$ADVER when CSMA-CD station disabled using NCL. - Changed DNS server license checking to verify the Alpha extended function license (DVNETEXT) instead of the VAX extended function license (DVNETRTG). 20 ECO01: - Fix server crash caused by an invalid pointer problem. On synonym lookup check port address for zero or negative values and return appropriate error code. - Fix maybe bit processing and failover. Speedup failover when no response from the application. Also corrects problems observed during clearinghouse processing. - Include changes to DNS$CONFIGURE for compatibility with NET$CONFIGURE changes. 4 NCL Syntax Errata The following sections correct syntax errors in the HP DECnet-Plus for OpenVMS Network Control Language Reference. 4.1 Syntax Errors The following errata are present in the HP DECnet-Plus for OpenVMS Network Control Language Reference: ___________________________________________________________ Manual_____________________Correction______________________ event dispatcher outbound event dispatcher outbound stream stream sink end-user sink end user modem connect line modem connect line maximum dsr maximum dsr de-assertion deassertion timer timer modem connect line modem connect line minimum dsr minimum dsr de-assertion deassertion timer timer nsp port round trip delay nsp port roundtrip delay estimate estimate osak application invalid osak application invalid mode mode failure failures osi transport port round- osi transport port round trip trip delay estimate delay estimate session control dangling session control dangling links link_______________________________________________________ 21 4.2 Missing Items The following items are missing from the HP DECnet-Plus for OpenVMS Network Control Language Reference. Alias Port Outgoing Default Characteristic Default: False Value: Boolean Specifies whether this alias should be used as the default alias for this node. If true, this alias node name is used for connect requests on an outgoing connection from a session control application with the outgoing alias attribute set to true. 5 decnet_register Option 3 - Update Registered Node Towers The documentation for Option 3 of the decnet_register utility gives the impression that this option is useful for updating a directory's node tower information. This is true to a certain extent. As stated in the documentation, the node address must already be correct or you must provide a node address in the decnet_register dialog. For a wildcard operation, this requires that the directory service must contain the correct node addresses for all nodes prior to the operation. What is not apparent from the documentation is that Option 3 is primarily intended for use once during the conversion from Phase IV to Phase V names. During the configuration process, the local directory is populated with information taken from any existing Phase IV database. Option 3 allows you to update the local directory to include Phase V information obtained from the individual remote nodes. If the DECdns directory is also being configured, you can use Option 7 to export the local directory information to an export file. Then use Option 8 to import this information into the newly created DECdns namespace. Using Option 3 on the local directory first allows this export/import file to contain Phase V information instead of the default Phase IV information. This assumes that all your nodes have been configured as Phase V nodes. 22 Because this option was designed mainly to assist in the Phase IV to Phase V migration, it assumes that it must initially attempt a Phase IV-style connection to each node. Therefore, if this option is used at some later time, most connection attempts will initially fail because the remote nodes are now Phase V nodes. The failure results in an OPCOM message similar to the following: %%%%%%%%%%% OPCOM 19-FEB-2003 08:27:16.51 %%%%%%%%%%% (from node ASHFLD at 19-FEB-2003 08:27:17.33) Message from user SYSTEM on ASHFLD Event: Remote Protocol Error from: Node LOCAL:.ASHFLD NSP Local NSAP 490003AA000400230C20 Remote NSAP 490003AA000400220C20, at: 2003-02-19-08:27:17.332-07:00Iinf Reject Cause=Invalid Message Format, Erroneous Transport PDU='3831002700000005'H eventUid F4BC1601-43E3-11D7-B04D-434352202020 entityUid 853F4E9F-3936-11D7-A8F6-434352202020 streamUid 8AF7A6C9-3888-11D7-8456-AA000400230C To update the local directory after configuration, the preferred method is to use the export/import options in decnet_register. To update the directory at any time, perform the following steps: 1. Invoke decnet_register. 2. Select Option 7---Export node names to a data file. Be sure to specify the proper SOURCE directory and a file name. 3. Edit the text file as needed. 4. Invoke decnet_register. 5. Select Option 8---Import node names from a data file. Be sure to specify the proper TARGET directory and the same file name used in the export operation. Enter in response to the Template: and Error file name: prompts. Enter replace in response to the Function: prompt. 23 6. Update other nodes in the network as required using the export file created in step 2. Note that decnet_register has a command line interface option that is useful when creating command procedures to automate this step. ________________________ Note ________________________ Although these steps work for the DECdns directory, DECdns has its own update mechanisms. Therefore, this procedure is usually not appropriate for the DECdns directory. ______________________________________________________ Option 3 does have limited usefulness after configuration. Using Option 3 provides direct feedback about which nodes are correctly addressed and currently reachable. (With the caveat that initial attempts are Phase IV-based which may result in numerous errors.) 6 New NET$LOGICALS.TEMPLATE File The NET$LOGICALS.TEMPLATE file now includes three new logicals. ___________________________________________________________ Logical____________________Purpose_________________________ NET$APPLICATION_SHUTDOWN Specifies a site-specific procedure used to shut down network applications before the network itself is shut down. NET$LOCAL_NAME_DATABASE Specifies the location of the local namespace database if the database is not located in SYS$SYSTEM. The default is SYS$SYSTEM:NET$LOCAL_NAME_ DATABASE.DAT. NET$LOCAL_CLOSE If set to 1, specifies that the local namespace database should be closed after each reference. By default, the database remains ___________________________open_continuously.______________ 24 If you are already using a customized NET$LOGICALS.COM on your system, you should include these three logicals in your current NET$LOGICALS.COM file. 7 NET$SHUTDOWN Now Tests for NET$APPLICATION_SHUTDOWN Logical This topic corrects and adds to a similar topic that first appeared in Version 7.3-1 Release Notes. In particular, the logical name was incorrectly stated to be NET$SHUTDOWN_ APPLICATION. NET$SHUTDOWN.COM now checks for the existence of the NET$APPLICATION_SHUTDOWN logical. If this logical is defined, NET$SHUTDOWN invokes the site-specific network application shutdown command procedure referenced by the logical. ________________________ Note ________________________ HP strongly recommends that you take advantage of this new feature. Placing network application shutdown commands in the system's site-specific SYSHUTDWN.COM file fails to shut down the applications before the network shutdown performed by NET$SHUTDOWN. As a result, NET$SHUTDOWN can hang waiting for network applications to shut down. Most DECnet shutdown problems can be traced to shutting down applications (and any Pathworks Internet Protocol (PWIP) software if TCP/IP is in use) in the incorrect order. Using the NET$APPLICATION_SHUTDOWN logical corrects these problems by specifying that NET$SHUTDOWN should shut down the indicated network applications before shutting down the network. ______________________________________________________ The support for this logical has been enhanced by including a template file (SYS$MANAGER:NET$APPLICATION_ SHUTDOWN.TEMPLATE) that you can use to create a customized network application shutdown file. You should rename this file to a .COM file, edit the file as necessary for your site, and define the logical NET$APPLICATION_SHUTDOWN to reference this file. See the template file for more information. 25 A new version of the NET$LOGICALS.TEMPLATE file now includes this logical. For more information about the new NET$LOGICALS.TEMPLATE file, see Section 6. The NET$APPLICATION_SHUTDOWN logical does not change the function of the NET$AUX_CONTROL logical. 8 New NCL SHUT ALIAS PORT Command The following new NCL command has been added: shut [node node-id] alias port port-name This command places the specified alias port entity in the shut state. In this state, no further alias connection requests are honored. All existing alias connections remain until closed by their clients, at which time the alias port entity is placed in the off state. For example, the following command prevents further connections to the boole alias on node true: NCL>shut node cmp:.site1.true alias port cmp:.site1.boole Note that other nodes participating in the boole alias will continue to accept connections to the boole alias after this command is executed. 9 Restriction When Using Applications Supported Using Cluster Aliases Due to a design restriction, incoming ALIAS connections are forwarded to cluster members somewhat differently depending upon whether the SESSION CONTROL APPLICATION entity's ADDRESS set contains a NUMBER parameter (equivalent to Phase IV's connect by object number) or a TASK parameter (equivalent to Phase IV's connect by object name). For an incoming connect by object number, each ALIAS entity has access to a cluster-wide object number table that specifies which object numbers have been defined for each cluster member and the status of their INCOMING ALIAS characteristic. The result is that the connection forwarding mechanism works as expected, that is, connections are forwarded or not forwarded to cluster members correctly depending upon whether the application exists on the member and depending on the setting of the INCOMING ALIAS parameter. 26 However, the mechanism for mapping incoming connections by object name using this cluster-wide object number table does not exist and the result is that connections are forwarded to a given cluster member regardless of whether the application exists on a given member and regardless of the setting of the INCOMING ALIAS parameter on a given member. If you wish to restrict access to a network application supported using a cluster alias (either by not having the application present on a member or by setting the INCOMING ALIAS characteristic to FALSE on a member), you must create the SESSION CONTROL APPLICATION by supplying the NUMBER keyword for the ADDRESS characteristic (that is, supplying the object number), so that connection forwarding works as expected. 10 Configuring Link State Routing Nodes Using the ISIS$CONFIGURE Procedure This ECO release includes support for the new ISIS$CONFIGURE procedure available in the HP DECnet-Plus for OpenVMS Version 8.2 release. The NET$CONFIGURE procedure supports configuring host- based routing nodes that use the routing vector routing algorithm. If you want to create a host-based routing node that uses the link state routing algorithm, you must use the ISIS$CONFIGURE procedure. If you want to use the ISIS$CONFIGURE procedure, see Appendix D in the new HP DECnet-Plus for OpenVMS Installation and Configuration manual. This manual is available in the DECnet documentation area of the OpenVMS documentation web site (http://www.hp.com/go/openvms/doc/). 11 CTF Utility Now Requires Process Privileges The CTF utility has always required that the invoking process have certain rights identifiers in order to use the START and STOP commands to control the collection of trace records. These rights identifiers are described in Chapter 3 of the DECnet/OSI for VMS CTF Use manual. Now, in addition to one or more of the required rights identifiers, the invoking process must have the following process privileges before invoking CTF for any purpose: 27 ALTPRI, BYPASS, CMKRNL, NETMBX, PRMGBL, PRMMBX, PSWAPM, SYSGBL, SYSLCK, SYSNAM, TMPMBX, and WORLD If you invoke CTF from a process without the required process privileges, the utility exits with an error message indicating the first of the required privileges not granted. 28