VSI DECnet-Plus Version 9.2-H
Release Notes
- Operating System:
- VSI OpenVMS x86-64 Version 9.2-3
- Kit Name:
- VSI-X86VMS-DECNET_PLUS-V0902-H-1.PCSI
1. Introduction
VSI is pleased to introduce DECnet-Plus 9.2-H for VSI OpenVMS x86-64.
DECnet is the collective name for the family of communications products that allow OpenVMS operating systems to participate in a network.
2. New in This Release
This section lists the new features and bug fixes introduced in DECnet-Plus 9.2-H.
2.1. New Features
The command procedure NCL_TASK.COM is included with this release.
The procedure is invoked on the TARGET DECnet-Plus node via a DCL Task-to-Task command executed on the SOURCE node. The output displayed back to the calling SOURCE node will show the default directory of the login, the process created as a result of the login, and the NCL Session Control/Transport port information for the connection that was created.
The three possible connection options are DECnet OSI, DECnet over IP, and DECnet NSP. For more information regarding the use of this procedure, review the comments within the command procedure located in the directory SYS$COMMON:[SYSHLP.EXAMPLES.DNVPLUS].
2.2. Bug Fixes
- VSI Jira SPS-1413 – SYS$TEST:OSIT$IVPINIT.COM is broken
Previously, the following error was displayed at the end of the test:
OSIT$IVP ..Disconnecting transport connection %SYSTEM-F-IVDEVNAM, invalid device name %NONAME-F-NOMSG, Message number 00000004
A fix was made to NET$OSDRIVER.EXE to solve this problem.
- VSI Jira DV-51 – MOP circuit configuration fails on V9.2-1
The porting of MOP to x86-64 was inadvertently not finished. Memory management differences between Alpha/IA-64 and x86-64 required changes that were not made until now. MOP now works correctly.
- VSI Jira DV-61 – DECnet-Plus emits the wrong copyright year
Several procedures that display a copyright year were not always having the copyright year updated. Those procedures will now be automatically updated during the build. The affected procedures are NET$CONFIGURE.COM, NET$STARTUP.COM, and NET$SHUTDOWN.COM.
3. New in Previous Releases
This section accumulates the new features and bug fixes introduced in previous releases of DECnet-Plus.
3.1. Bug Fixes in DECnet-Plus V9.2-G
- Periodic communication errors (Found during X.500 porting to x86-64)
A timing window existed such that periodic communication errors were returned from the X.500 DSA server to the X.500 DXIM client. This windows has been closed.
3.2. Bug Fixes in DECnet-Plus V9.2-F
- VSI Jira DV-35/DV-36 – Non-paged pool leak
This is a continuation of the fix made in DECnet-Plus V9.2-B that addressed VSI Jira DV-19 -- All OSI incoming connections are rejected We think that we've put the final nail in the coffin by properly deallocating a memory structure that had been forgotten.
- VSI Jira DV-49 – PGFIPLHI crash in Decnet
In DECnet-Plus V9.2-B, a fix was made for Jira DV-19, which involved a condition where all incoming OSI connections are rejected. As part of that fix, various spinlock acquisitions were added. Unfortunately, we were a bit aggressive in our spinlock holding, leading to Jira DV-49. The fix was to release the relevant spinlock before touching address space in a process that could be paged out.
3.3. Updates in DECnet-Plus V9.2-E
3.3.1. Enhancement
- VSI Jira DV-47 – Enhancement to create logicals to change the hard code quotas of DNS$ADVER
The startup of the DNS$ADVER process is done by the command procedure SYS$STARTUP:DNS$CLERK_STARTUP.COM. This procedure specifies a series of quotas to be used by the process. Some time ago, many of those hardcoded values were changed to be overridden by system-defined logical names. However, the limits for direct and buffered I/O were *not* allowed to be overridden by logical names.
This change rectifies that mistake; the system-defined logical names DNS$ADVER_IO_BUFFER and DNS$ADVER_IO_DIRECT can be used to set different values from the defaults specified in SYS$STARTUP:DNS$CLERK_STARTUP.COM.
In addition to the above-noted changes made, the logicals DNS$ADVER_QUEUE_LIMIT, DNS$ADVER_FILE_LIMIT, and DNS$ADVER_ENQUEUE_LIMIT can be also used to set different values from the default.
All of the new logical names have been added to NET$LOGICALS.TEMPLATE.
3.3.2. Bug Fixes
- VSI Jira DV-44 – Changes to NET$CONFIGURE.COM needed
There was an inconsistency in the use of the terms "logical links" and "transport connections". As "logical link" is a Phase IV term, any use of that term has been changed to "transport connection".
The calculation of maximum receive buffers is dependent upon the values used for max transport connections and max transmit/receive window size; maximum receive buffers should be the product of those two values. That relationship is now enforced by NET$CONFIGURE.COM such that the maximum receive buffers cannot be set lower than the product of max transport connections and max transmit/reeive window size. That product will be offered as the default value during NET$CONFIGURE.COM dialogue. If an attempt is made to set a value lower than the default, this will happen:
Maximum Receive Buffers ? [10000] : 6000 Max receive buffers cannot be lower than 10000; setting to 10000
- VSI Jira DV-48 – NETNOSTATE crash
DECnet-Plus V9.2-C has a fix (see below) for VSI Jira DV-15. This problem was related to alias connections to the OSI transport.
To address that bug, changes were made to the handling of alias connections for both OSI and NSP transports.
We are backing out the changes made to the NSP transport, as one customer has had multiple crashes that can be at least partially attributed to the change in handling NSP transport connections.
DECnet-Plus V9.2-E handles NSP transport connections exactly the same way as DECnet-Plus V9.2-B.
3.4. Bug Fix in DECnet-Plus V9.2-D
- VSI Jira DV-12 – SYSTEM-F-DUPLNAM, duplicate name error encountered on restart of DECnet Plus
If DECnet was stopped and then restarted without an intervening system reboot, an error was emitted during the startup of DNS. Whilst this error is benign, its appearance can be confusing.
The procedure DNS$CLERK_STARTUP.COM has been modified to check to see if the execlet SYS$NAME_SERVICES has been loaded. If it has, then no attempt is made to load it again.
3.5. Change in DECnet-Plus V9.2-C
The format of the value returned by SYI$_DECNET_VERSION has changed. Prior to this change, the value was hexadecimal 00051702, where 0005 denoted DECnet Phase V, and 1702 was an opaque value that corresponded to the release put out by Hewlett-Packard for V8.4 ECO2. That value had remained unchanged by VSI for its subsequent DECnet-Plus releases.
For this release the value is hexadecimal 00059203, where 0005 still denotes DECnet Phase V. For the low-order word of 9203, 92 indicates VMS version 9.2 and 03 is the value indicating the -C release.
3.6. Bug Fixes in DECnet-Plus V9.2-C
- VSI Jira DV-23 – DECnet-Plus crashes on x86-64 after VCRP changes
A required change to some internal networking data structures inadvertently broke the IP port forwarding mechanism in DECnet-Plus. This change was made during VMS V9.2 development; a temporary fix was put in to prevent system crashes, but IP port forwarding was broken.
With this fix, IP port forwarding now works correctly.
- VSI Jira DV-15 – Alias connections are improperly rejected
In an environment with a high rate of incoming alias connections, clients will sometimes be rejected, with no understandable error message. At the time of the rejection, the current transport connections are well below the limit as shown by:
$ MCR NCL SHOW OSI TRANSPORT MAX TRANSPORT CONNECTIONS $ MCR NCL SHOW OSI TRANSPORT ALL STATUS
and$ MCR NCL SHOW NSP MAX TRANSPORT CONNECTIONS $ MCR NCL SHOW NSP ALL STATUS
There is a longstanding hard-coded limit of 64 incoming alias connections for each node participating as a cluster alias target. When those 64 slots are used up (or pending deletion if the connection has already been terminated), incoming connections are rejected.
Also, there was a mechanism in place to ensure that a slot was not prematurely reused. A slot could not be reused until a certain amount of time had passed. From comments in the code, it's not clear how long that timeout was supposed to be. The comments indicated that the unit of the timeout was 1/100 of a second, and that 15 times that unit was to have passed.
However, EXE$GL_ABSTIM is used as the counter; that is the number of seconds since the system has booted. So, that meant that a slot needed to have been freed up for 15 seconds before it could be resued. We think that was not the intent of the engineer who originally wrote that code.
Thus, we have reduced the multiplier from 15 down to 5. We think that value is still rather high, but is a conservative change.
Reducing the aging factor of slot reuse, in conjunction with increasing the number of slots from 64 to 1024 has eliminated this connection rejection problem. With these changes, DECnet engineering and the support staff have been unable to reproduce the problem. Prior to this fix, the problem was 100% reproducible.
3.7. Bug Fixes in DECnet-Plus V9.2-B
Note
Both bugs in this section were originally fixed in DECnet-Plus V8.4-L, but those changes were not finalized when DECnet-Plus V9.2-A was being prepared.
- VSI Jira DV-19 – All OSI incoming connections are rejected
This problem was seen on a system where client-initiated connections were being disconnected due to a timeout. The issue was that certain data structures were not being correctly deallocated in response to the disconnection request. As a result, a table that temporarily holds pointers to those data structures filled up, which prevented the creation of new incoming connections.
The resolution is to correctly handle the incoming disconnect request, thereby deallocating the relevant data structures and removing the relevant entries in the connection table.
- VSI Jira DV-20 – Memory leak when adding/deleting session control applications
This problem was seen when adding and then deleting the same session control application repeatedly. Certain data structures were not deleted when the application was deleted.
The resolution is to correctly delete the relevant data structures.
3.8. Bug Fixes in DECnet-Plus V9.2-A
- VSI Jira DV-22 – Errors in DTSS$ERROR.LOG
A problem arose due to the default naming scheme for DTSS servers. Prior to this change, the underscore character _ was being used as part of the default name. That use is in contravention to RFC 1035.
The resolution is to remove the underscore as part of the default name.
- VSI internally-found bug – NET$CONFIGURE.COM is not user-friendly
As part of the dialogue presented by NET$CONFIGURE, one is asked for the ordered list to use for directory services. A response with a comma-delimited list with whitespace after the comma, such as "domain, local", is greeted with the error message:
%NET$CONFIGURE-E-INVCIDLIST, invalid CDI directory service list
The simple fix is to use
F$EDIT( answer, "COLLAPSE" )
to remove all whitespace before processing the response.
3.9. Bug Fix in DECnet-Plus V8.4-K
- VSI BZ #3673 – NET$CONFIGURE.COM not accepting 70000 for OSI Maximum Receive Buffers
NET$CONFIGURE was mistakenly restricting the OSI transport maximum receive buffers to 65535. Whereas the NSP transport maximum receive buffer parameter is limited to 65535, the OSI transport maximum receive buffer parameter can be as high as 4294967295. NET$CONFIGURE was using the wrong F$FAO format specifier when creating the NCL script after the configuration dialog.
3.10. Bug Fixes in DECnet-Plus V8.4-J
- VSI BZ #951 – DECnetPlus: Event Logging Transport Selector Missing
The local transport selector was not displayed in the OPCOM message that was reported for a local transport disconnection. The remote transport selector was being displayed, but not the local transport.
The local transport selector is now displayed correctly in the OPCOM message.
- VSI BZ #1112 – Crash with DECNET, DECnet detected a fatal error
PWIPDRIVER passed bad data to the TPCONS component of DECnet-Plus, causing a crash.
TPCONS now returns an error instead of crashing.
3.11. HPE-Reported Bugs
This section lists all HPE-reported bugs that have been fixed since HPE shipped DECnet V8.4 for Alpha and IA-64 systems.
- HPE QuIX QXCM1001326591
The ISO8473 Echo Response does not work and produces corrupted ERP packets.
- HPE QuIX QXCM1001317124
When L2 Link State HBR is configured in a cluster, the cluster alias on other cluster member remains unreachable.
- HPE QuIX QXCM1001392243
A DECnet node crashed due to inline bug-check in the TPCONS module.
- HPE QuIX s QXCM1001443450 and QXCM1001332464
System crashed in TPCONS module with BUGCHECK type DECnet detected a fatal error.
- HPE QuIX QXCM1001513342
Circuits connected to the same LAN, one of the routing circuits is assigned to the wrong router.
- HPE QuIX QXCM1001526839 and QXCM1001538156
Fix connectivity issue between cluster alias members when L2 link state HBR is configured on the cluster.