Greetings all,
I'm performing a firewall replacement along with all kinds of other comms related tasks at my office today.
This means Area 35 will be up and down and possibly out for a few hours.
I'll be starting in the next 2 hours or so. All the work will be finished this afternoon.
Cheers, Wiz!!
Since there has been a bunch of work done to revive what is supposedly a DECnet Phase I implementation (DECnet/8 for RTS/8) I realized I could perhaps get some more information going back that far. Some months ago Nathan Brookwood (formerly known as Nathan Teichholz) gave a talk about the beginning of RSTS-11, and in that he mentioned as an aside that he subsequently served as program manager for the initial development of DECnet.
So I asked him if DECnet/8 sounded familiar and if he could tell me anything further about that time. His reply:
----------
I was responsible for coordinating all the versions of DECnet for the initial "Phase I" releases, but developers in each operating system were responsible for the implementations. Each group was building from the definitions of DDCMP and NSP that were extant in the 1973-75 period. There was also a testing and communications protocol called "NICE" (don't ask me what that stood for) and a file transfer utility.
The Phase I versions did not include routing, and when the developers tried to add routing capabilities to those first versions, they discovered that there was a need to make significant changes to NSP that would preclude backwards compatibility with the Phase I versions. The implementation of DDCMP survived intact, since physical link protocols are below the routing protocols level.
----------
That ties into the statement in the Phase III General Description document which says that Phase I nodes can't coexist with later versions in the same network, and it also matches what the DECnet/8 manual makes quite clear in its chapter discussing the protocol details: Phase I NSP is conceptually pretty similar to Phase II NSP, but the packets are 100% incompatible. So the "significant changes" Nathan mentioned are what happened in DECnet Phase II -- which modifies NSP to include sequence numbers and ACKs and in the process also changes lots of other details in the protocol encoding. That still wasn't quite enough, and Phase III filled in some missing details in an upward compatible fashion (the Connect Ack and Retransmitted Connect Initiate message, as well as timeout and retransmit algorithms).
paul
I've been testing my changes to Tops-20 NFT and ran into what what I
thought were some perhaps interesting results, viz:
NFT>*i twonky*
Attempting connection to TWONKY:: [31.37]
Maximum buffer size: _0!_
Operating System: Tops-10, File System: Tops-10
DAP: 7.0, DECnet: _0.0_
NFT>*i ostara*
Attempting connection to OSTARA:: [31.15]
Maximum buffer size: 4096
Operating System: Ultrix-32, File System: _13 (Unknown)_
DAP: 7.0, DECnet: 1.0
Note that I am clipping the capability display for these examples. By
"interesting", I was surprised to find that Tops-10 is reporting a
buffer size of zero, but more by it reporting a DECnet version of 0.0.Â
Where are these version numbers defined? For Ultrix, I would assume that
I need a more up-to-date list of file systems, given that the highest
that DAP 5.6 states is 9 for OS-8 (!!)
As a comparison, this is what I see for VENTI2:: (Tops-20) and a random
RSTS host.
NFT>*i*
Local Executor is: VENTI2:: [2.522]
Maximum buffer size: 4096
Operating System: Tops-20, File System: Tops-20
DAP: 5.6.1, DECnet: 2.0
NFT>*i pirsts*
Attempting connection to PIRSTS:: [29.205]
Maximum buffer size: 636
Operating System: RSTS/E, File System: RMS-11
DAP: 5.6, DECnet: 4.1
I want to sign on to MIM:: later to see what the RSX NFT client says;
it's certainly possible that I am not displaying this correctly.
I finished the auto-mounting code for Tops-20 DAP, viz:
NFT>*dir venti2::dsk*:<Help>units.hlp*
 VENTI2::TOMMYT:<HELP>
UNITS.HLP.1;P777752Â Â Â Â Â Â Â Â Â Â Â Â Â 1 2210(7)Â Â Â 28-Apr-1980 17:23:03
 VENTI2::TOPS20:<HELP>
UNITS.HLP.1;P777752Â Â Â Â Â Â Â Â Â Â Â Â Â 1 2210(7)Â Â Â 28-Apr-1980 17:23:03
NFT>
Over in FAL, one finds the following debugging output:
[Received Access message (Flg=LEN Cnt=30.)]
[Parsing Access message]
[DSK*: PS:<HELP>UNITS.HLP.1, JFN 7, Unit* High]
[Trying file TOMMYT:<Help>units.hlp]
[Assigned JFN 7, Unit* High]
   .
   .
   .
[Trying file STAR:<Help>units.hlp]
[Failed. No such directory name]
[Mounted file structure TOPS20: on behalf of SLOGIN]
[Trying file TOPS20:<Help>units.hlp]
[Assigned JFN 7, Unit* High]
   .
   .
   .
[Dismounted file structure TOPS20: on behalf of SLOGIN]
Like many things I do, I tend to have an overly optimistic if not naive
idea of the development involved and bump into edge cases. I had to
split DAPLIB up into three separate sources to accommodate the changes,
which kept getting longer as I found another case I hadn't considered.
The same thing happened in spades when I put NRT support into
Kermit-20. The changes were so pervasive that I started looking around
for regression tests. C-Kermit itself has wonderful scripting, which
you can even use to write a compiler. But not testing scripts, so I
wrote my own batch control files.
Anybody know what's available for DECnet; in particular, DAP? I seem to
remember there being something for UETP, but it wasn't extensive.
The RSX image that I created for simh (and thereby also the PiDP-11)
have just been enhanced a bit again.
Since it appears that HECnet is of some interest, I added a section in
the initial boot setup dialog to also configure DECnet-over-IP multinet
links.
So, if anyone wants this, all they need to do is answer a few questions
at initial boot (or whenever they manually run the config script), and
they will have a nicely setup RSX system, which also already connects
using DECnet-over-IP to wherever they want.
This is obviously not limited to HECnet. You can use this to setup links
between any DECnet nodes on any kind of network. HECnet is just one such
instance.
Information on the image can be found at http://mim.stupi.net/pidp.htm
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
After I got done 'enough' with the auto-mounting code for FAL (meaning,
I didn't make the modifications to the access control job because I
bumped into .MSIMF), I turned to fixing a bug that I bumped into a few
years ago. While Tops-20 does not support wildcarding devices, it does
support wildcarding all structures that the system currently has online
via the DSK*: moniker.
So, let's say you're a 60+ who is having those occasional lapses of
memory and you /really/ can't remember a single thing about something
you think you might have somewhere. This is, of course, completely
forgetting that you wanted to find something in the first place... you
can ask the EXEC to do something like, DIRECT DSK*:<*>*SOMETHING*.*.0.Â
You can also hand that to FIND to have it look in all those files.
Some experimentation with NFT shows that Tops-20 FAL supports structure
wildcarding. BUT!! If you're being nosy or are just plain hacking and
do DIRECT DSK*:<*>*.*.*, it crashes with a GLXLIB out of memory error
(ASE, Out of Address Space)...
Researching this shows that Tops-20 DAPLIB tries to buffer messages
before dumping them over the wire and that the decision it makes to dump
is file count based. That appeared to not work properly because of two
issues. First, each file was actually generating four separate
messages: a Name, an Attributes, a Date/Time Attributes and a File
Protection Attributes. Second, the buffer builder was always allocating
a buffer for the maximum size message, 4090 characters (1032 thirty-six
bit words).
That's pretty excessive, considering the typical sizes. Some
instrumentation shows the below:
Message Allocated Actual %Excess
Name 4,090 18 99.56%
Attributes 4,090 17 99.58%
Date/Time 4,090 40 99.02%
Protection 4,090 7 99.83%
I changed the buffering algorithm to dump based on available memory.Â
The starting available memory is 448 pages, so I take ¾ of that to
devote to DAP buffers and ¼ (122 pages) to do the dumping. That fixed
the problem. Then I changed the memory allocation to trim unused words
from the end of messages. That's not working as well as I expected,
probably because I need compact (or 'burp') the memory. Another
alternative would be to build all messages in a single area and then
only allow a chunk in the linked list for what I need. No burping.
A concern is what happens with the Configuration BUFSIZ operator and
what to do if it is 0 (unlimited). The DAP specification specifies that
an operand of zero means that if one of the two systems has anÂ
unlimited buffer size, it sends a 0 and the two systems will use theÂ
nonzero buffer size as the maximum. If both systems send 0, there is no
limit on the length of messages which may be sent.
My question is whether zero is absurd. Does any implementation send that?
It probably doesn't matter that much for sending, but I'm also thinking
that I might hypothetically have a similar problem on receive.Â
Obviously I don't because the current Tops-20 DAP won't negotiate a size
larger than 4096 bytes. Is anything running larger than that? Would it
be silly to?
Hello, newbie here :)
I used to run OpenVMS 7.3 under simh on a Raspberry Pi, but have never learnt past the "newbie" stage about OpenVMS.
With the availability of the x86 Community Edition, I have now 9.2-1 running under Proxmox at home, and thought "maybe it's time to learn about DECnet and join the HECnet".
So here I am, with exactly 0 idea of how DECnet works but the intention to read some of the docs and figure it out enough to join a node or two (or more?)
Regards,
Alice
Much of my DECnet work involves either SIMH or PyDECnet, both of which can do Ethernet over UDP, with a Billquist bridge (or Python equivalent) providing the bridging. So while I've used TAP some years ago, it hasn't been a concern lately.
Then came the time to find an Alpha emulator to run VMS, and it turns out SIMH only has the skeleton of one, not even close to ready for real use. But there are others, and after some searching I landed on AXPbpx. That works well; VMS 8.4 installs on it without problems especially with some help from various Wiki pages. But the obvious complication is that its Ethernet emulation talks to an interface, not UDP (not as far as I can tell). So I looked for TAP as the way to do that since my laptop's physical interface (being WiFi) is not useable for the job.
Surprise: no more Tun/Tap for Mac OS. Or at most, something that's buried in a corner of some other package and at risk of being broken by Apple any day now.
But some Googling for options turned up something very simple that seems to work. Mac OS, in its network settings, lets you define a "virtual interface" bridge. A typical use for that is to share a physical interface, but it doesn't actually need to be connected to a physical interface to work. I tried that.
In System Preferences, Network, at the bottom left is a button bar with + - O, that last one a circle with some dots in it and a downarrow. Click that, last option is Manage virtual interfaces. It lists your bridges, if any. Click on + to add one, give it a name. It will show up in the virtual interfaces list with a Unix-style interface name like "bridge1".
Then you can connect things to that bridge, for example an AXPbox emulated Ethernet, or a PyDECnet circuit via pcap. Wireshark will happily display the packets on that bridged network. And a software bridge can then connect that LAN to other things, for example over UDP.
Enjoy.
paul
Hi Johnny,
The network is up again over here; thanks ... A LOT!
I shelve the formation of the Swbu56 with multinet link to Mim for a while
in favour for more important issues at the moment, but for backup purposes
it is useful to have.
Thanks again,
Reindert
-----Original Message-----
From: Johnny Billquist [mailto:bqt@softjar.se]
Sent: Friday, 28 April, 2023 04:20
To: 'The Hobbyist DECnet mailing list' <hecnet(a)lists.dfupdate.se>
Subject: [HECnet] ANKE
After some head scratching, and some RSX hacking, I solved the problem
of accessing the host where ANKE is running. ANKE now restarted, and all
various connections that goes through there should come up now.
Let me know if you spot any problems.
This also means I'd like to reduce the number of links to MIM a little.
Some I like to keep for redundancy, but ANKE is easier to have lots of
different connections set up to.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
_______________________________________________
HECnet mailing list -- hecnet(a)lists.dfupdate.se
To unsubscribe send an email to hecnet-leave(a)lists.dfupdate.se
After some head scratching, and some RSX hacking, I solved the problem
of accessing the host where ANKE is running. ANKE now restarted, and all
various connections that goes through there should come up now.
Let me know if you spot any problems.
This also means I'd like to reduce the number of links to MIM a little.
Some I like to keep for redundancy, but ANKE is easier to have lots of
different connections set up to.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol