More:

The session control spec makes a distinction between connect error codes and reason codes as they appear in the protocol.  For example, codes 20, 11, and 39 are error codes but not protocol codes.  The reason is that 10 and 11 are internal errors -- if you get this then nothing was sent on the wire -- and 39 is the outcome of something entirely different in the protocol -- either a routing layer error return, or a message being returned to sender as unreachable.

The description of 41 looks wrong; 41 as a protocol code means "no link terminate" which is what NSP sends in response to an NSP message that refers to a logical link address (connection identifier) that isn't currently active.  That has nothing to do with the destination process; it normally occurs if the destination node has restarted, or if there was a network outage long enough for the destination to delete the connection but the source did not do likewise.

Code 42 is internal to the NSP protocol; you would never see that code come back to an application as a status value.  It's merely the encoding of the message that acks a disconnect initiate; think of it as an ACK that's encoded a bit strangely.

paul

On Jul 7, 2023, at 4:39 PM, Thomas DeBellis <tommytimesharing@gmail.com> wrote:

Where are all of these spelled out?  I had looked in the Phase IV NSP functional specification (NSP401.TXT) for them, but only a few seem to be there.

The background is that I have further enhanced Kermit-20 to use direct monitor connections when doing remote terminals and also to print the text of a disconnect.  I duly copied over the list in MONSYM, Etc., Etc., Etc.  Earlier this week, I put some more contingency code into FAL to handle server crashes.  Basically, the controller would sit in a loop forever restarting crashed server (DAP) forks.  Now it waits a while and stops completely after a certain number of restarts.

While I was at it, I checked its list and found that it was missing text for disconnect codes 10, 11, 21, 22 and 23.  Well, I put it in but got to wondering what others there might be.  Right now Tops-20 Kermit and DAP know about the following:


Code
Reason Text
0
Reject or disconnect by object
1
Resource allocation failure
2
Destination node does not exist
3
Remote node shutting down
4
Destination process does not exist
5
Invalid process name field
6
Object is busy
7
Unspecified error
8
Third party abort)
9
User abort (asynchronous disconnect)
10
Invalid node name
11
Local node shut down
21
Connect Initiate with illegal destination address
22
Connect confirm with illegal destination address
23
Connect initiate or confirm with zero source address
24
Flow control violation
32
Too many connections to node
33
Too many connections to destination process
34
Access not permitted
35
Logical link services mismatch
36
Invalid account
37
Segment size too small
38
No response from destination process
39
No path to destination node
40
Link aborted due to data loss
41
Destination process does not exist
42
Confirmation of Disconnect Initiate
43
Image data field too long

 


_______________________________________________
HECnet mailing list -- hecnet@lists.dfupdate.se
To unsubscribe send an email to hecnet-leave@lists.dfupdate.se