Search

Sunday, September 24, 2017

The DECnet-Linux Experience: It Works!

Supratim Sanyal's Blog: DECnet Linux Communication Between two Linux nodes
Ubuntu 14.04 Linux Twins FEDACH (1.553) and FOMFOR (1.554) Talk over DECnet
I was aware of an implementation of the DECnet Phase IV network protocol on the Linux kernel for quite a while now, and recently decided to take the plunge and give it a shot, with additional motivation from this inspiring Retrocomp post.

It was not going well initially because of a bad call I made to try to install ancient releases of Linux distributions from Debian and Fedora from around the time DECnet-Linux was first announced. As a result, I spent many sleepless nights trying to find the packages and dependencies for Linux distros featuring DECnet from the first few years of the new millennium.

Eventually I did what I should have started off with: check if modern Linux distributions still include DECnet-Linux. A search of the kernel of the bleeding-edge Ubuntu 17 "Zesty Zapus" looked promising; DECnet-Linux was indeed compiled right into Ubuntu 17's mainline 4.10 kernel build and the required libdnet, dnet-common and dnprogs packages were available for Ubuntu 17.

Unfortunately, Ubuntu 17's support for DECnet-Linux turned out to be dysfunctional. I created two virtual machines with Ubuntu 17 and installed the DECnet tools, but could not get any farther than the dneigh command showing the other node. FAL, Phone, sethost, etc. would simply not work and would sometimes lock up the virtual machines.

Frustrated, I posted the question to the fabulous folks at the comp.os.vms newgroup. Within a day, I had a path forward; it was clear from John E. Malmberg and "hb" that I needed to try Ubuntu 14.04 or earlier; DECnet-Linux was definitely broken after Ubuntu 14.04.

Re-energized, I proceeded to install the 32-bit release of Ubuntu 14.04.5 LTS (Trusty Tahr) on two virtual machines using the lightweight lubuntu flavor from the Desktop ISO CD image. Then apt-get install dnprogs brought in everything I needed to get DECnet-linux mostly up (the official Ubuntu 14 repositories still work at the time of writing, no need to look for mysterious archives of no-longer supported releases yet.)

However, I still had to make a couple of little tweaks to have DECnet-Linux work all the way. Here are the things I did over and after the default install of DECnet-Linux from Ubuntu 14.04 repositories.

1. The official dnprogs and family of packages from Ubuntu 14.04 repos installed versions of /usr/sbin/dnetnml and /usr/sbin/ctermd that did not work well. The dnetnml program was not responding correctly by showing executor, line, or circuit etc. characteristics when requested by other nodes. Also, attempts to SET HOST from other nodes resulted in the official ctermd program to look for a non-existent local "pty" device and fail.

To get around these problems, I downloaded the source code tarball dnprogs_2.62.tar.gz which is available in practically all Ubuntu 14 mirrors including here. I then built the entire DECnet program suite locally, and then replaced the /usr/sbin/dnetnml and /usr/sbin/ctermd binaries with the ones built locally from source.

2. The official dnprogs installation was not filling in the correct DECnet node-name and address in the files /proc/sys/net/decnet/node_name and /proc/sys/net/decnet/node_address; these file always had "???" and 0.0 despite the correct DECnet executor address being defined in /etc/decnet.conf configuration file. This was resulting in some strange behavior indicating DECnet/Linux was not using the adjacent router node to reach nodes outside the local network, but trying to access them directly and failing. I added simple commands in the /etc/rc.local file (and made it executable and exit with 0) to force the correct DECnet node-name and DECnet address:

# -- rc.local DECnet kludge - /proc/sys/net/decnet/node_name has ???; force it
echo FOMFOR > /proc/sys/net/decnet/node_name
# -- rc.local DECnet kludge - /proc/sys/net/decnet/node_address has 0.0; force it
echo 1.554 > /proc/sys/net/decnet/node_address
# --

3. In an attempt to control "DECnet event 4.3, oversized packet loss" errors when accessing the FAL server on DECnet-linux from remote nodes, I forced the MTU of the DECnet NIC (eth1 in my case) to 576 by adding "mtu 576" to /etc/network/interfaces. I am not sure this actually helps in controlling the error. Here are the corresponding sections of /etc/network/interfaces:

FEDACH

# DECnet 1.553
auto eth1
iface eth1 inet manual
    # MAC address corresponding to DECnet Address
    hwaddress ether aa:00:04:00:29:06
    # Brave attempt to avoid sporadic errors on router node like the following:
    # "DECnet event 4.3, oversized packet loss"
    mtu 576

FOMFOR

# DECnet 1.554
auto eth1
iface eth1 inet manual
    # MAC address corresponding to DECnet Address
    hwaddress ether aa:00:04:00:2a:06
    # Brave attempt to avoid sporadic errors on router node like the following:
    # "DECnet event 4.3, oversized packet loss"
    mtu 576

My two Ubuntu 14.04 virtual machines are named FEDACH and FOMFOR after the twin sons of Macha, daughter of Aodh Ruad. FEDACH has a DECnet address of 1.553 and FOMFOR has 1.554. They are now both connected to HECnet - the global hobbyist DECnet. They are configured to use DECnet on the eth1 network adapter (eth0 is dedicated to IP); the eth1 adapter has the correct MAC address corresponding to the DECnet address as required by DECnet:

1.553 => aa:00:04:00:29:06
1.554 => aa:00:04:00:2a:06

You can quickly look up the MAC address as well as the SCSSYSTEMID SYSGEN parameter for OpenVMS systems corresponding to a DECnet address using my free online DECnet - MAC address - SCSSYSTEMID Calculator.

Also, as DECnet uses all available NICs by default, I modified /etc/default/decnet to have DECnet on eth1 only, and increase verbosity of logging by the dnetd daemon. In addition, I modified the /etc/decnet.conf and /etc/decnet.proxy files as recommended by DECnet-linux documentation and man pages. Here is the output of "ip address show" for eth1 on the two nodes:

FEDACH

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 576 qdisc pfifo_fast state UP group default qlen 1000
    link/ether aa:00:04:00:29:06 brd ff:ff:ff:ff:ff:ff
    dnet 1.553 peer 1.553/16 scope global eth1

FOMFOR

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 576 qdisc pfifo_fast state UP group default qlen 1000
    link/ether aa:00:04:00:2a:06 brd ff:ff:ff:ff:ff:ff
    dnet 1.554 peer 1.554/16 scope global eth1


I created a "decnet" user account for FAL etc. to use by default as configured in /etc/decnet.proxy and the DECnet objects in /etc/dnetd.conf; interactive logins are disabled for this "decnet" account.

Lastly, I wanted the mail system to use the "decnet" account as well instead of the default (and non-existent) "vmsmail" account and created the file /etc/vmsmail.conf with a single line:

username=decnet

Usual DECnet network access commands all work from an external OpenVMS VAX 7.3 Node:

$ MC NCP TELL FEDACH SHOW EXECUTOR CHAR


Node Volatile Characteristics as of 25-SEP-2017 00:32:23

Executor node = 1.553 (FEDACH)

Circuit                  = eth1
State                    = on
Identification           = DECnet for Linux V3.13.0-129-generic on i686


$ DIR FEDACH::

Directory FEDACH::HOME:[DECNET]

DECNET-BUILD.TGZ;1  DECNET.TXT;1        INFO.TXT;1

Total of 3 files.
$ SET HOST FEDACH::
CTERM Version 1.0.6
DECnet for Linux

fedach login:


Mail also works from VMS to Linux over DECnet.

$ MAIL/SUBJECT="TEST MAIL FROM OPENVMS VAX TO UBUNTU DECNET-LINUX" X.COM FEDACH::ROOT

Produces these syslog entries on FEDACH showing mail delivery success:

Sep 29 10:20:46 fedach dnetd[1211]: Connection from: qcocal::sanyal
Sep 29 10:20:46 fedach dnetd[1211]: using user decnet from dnetd.conf
Sep 29 10:20:46 fedach dnetd[2108]: Starting daemon 'vmsmaild'
Sep 29 10:20:46 fedach vmsmaild[2108]: got local user: ROOT
Sep 29 10:20:46 fedach vmsmaild[2108]: Forwarding mail from qcocal::SANYAL       to root
Sep 29 10:20:46 fedach dnetd[1211]: Reaped child process 2108
Sep 29 10:20:46 fedach postfix/pickup[1351]: 8927E6CAB7: uid=1001 from=<decnet>
Sep 29 10:20:46 fedach postfix/cleanup[2112]: 8927E6CAB7: message-id=<20170929142046.8927E6CAB7@fedach.sanyalnet.lan>
Sep 29 10:20:46 fedach postfix/qmgr[1352]: 8927E6CAB7: from=<decnet@fedach.sanyalnet.lan>, size=1029, nrcpt=1 (queue active)
Sep 29 10:20:46 fedach postfix/local[2114]: 8927E6CAB7: to=<root@fedach.sanyalnet.lan>, orig_to=<root>, relay=local, delay=0.16, delays=0.06/0.1/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 29 10:20:46 fedach postfix/qmgr[1352]: 8927E6CAB7: removed


DOWNLOADS

The DECnet-Linux configuration files for my two nodes along with the Ubuntu 14 CD ISO and dnprogs_2.62.tar.gz source files and binaries built on my nodes are available from my google drive here.


CONFIGURATION FILES

/etc/dnetd.conf (Identical for FEDACH and FOMFOR)

# /etc/dnetd.conf
#
# Define DECnet objects
#
# Fields
# name: object name (or * for any named object, number must be 0)
# number: object number (or 0 for a named object)
# options: auth[,auto accept]:
# auth: Whether to authenticate users: Y or N
# auto accept: Should we accept incoming connections
# This is needed for non-decnet daemons
# (not calling dnet_accept)
# user: If auth is N then use this user
# daemon: program to run or 'internal'
#
# name number options user daemon
#
FAL 17 Y,N decnet fal
MIRROR 25 Y,N decnet internal
MAIL 27 N,N decnet vmsmaild
CTERM 42 N,N root ctermd
DTERM 23 N,N root rmtermd
NML 19 N,N decnet dnetnml

/etc/decnet.proxy (Identical for FEDACH and FOMFOR)


# /etc/decnet.proxy
#
# DECnet proxy database.
# The format of this file is (one entry per line)
# node::remoteuser localuser
#
# Regular expressions are allowed for node and remote user. Remember these are
# POSIX regular expressions so use .* where you would use just * on VMS.
# Also it is IMPORTANT that whole names (node and user) are enclosed
# in anchors as below.
# The entries are checked in the order they appear in this file.
# * as a local user will be replaced by the remote username.
# # is a comment.
#
# Here are some examples (commented out of course):
#
# ^tramp$::^test$ chrissie # Explicitly convert 'test' on tramp to 'chrissie'
# ^zaphod$::.* none # Disable proxies from zaphod (assuming you don't have
# # a user called 'none')
# .*::.* decnet # Like a default DECnet account
# .*::.* * # Equivalent to VMS *::* * proxy (make this last
# # if you use it)
.*::.* decnet
.*::.* */DEFAULT

/etc/default/decnet (Identical for FEDACH and FOMFOR)


# DNET_INTERFACES specifies the names of ethernet interfaces whose
# MAC address is to be set to the DECnet node address
#DNET_INTERFACES="all"
DNET_INTERFACES="eth1"
# DNET_DAEMONS lists the daemons to start when dnet-progs is installed.
#
DNET_DAEMONS="dnetd phoned"
dnetd_FLAGS="-vvvv"
dnroute_FLAGS="-v -2"
# The following two lines enable routing, note that if you are
# being a router, then add dnroute to the DNET_DAEMONS too
#ROUTING=1
PRIORITY=32

/etc/decnet.conf (FEDACH)



#
# decnet hosts file - see https://supratim-sanyal.blogspot.com/2017/09/the-decnet-linux-experience-it-works.html
#
#node node name node line line
#type address tag name tag device
#----- ------- ----- ----- ----- ------
executor 1.553 name fedach line eth1
node 1.1 name magica
node 1.2 name ernie
node 1.3 name fnatte
node 1.4 name goblin
node 1.5 name zeke
node 1.6 name gnome
node 1.7 name bjarne
node 1.8 name krille
node 1.9 name tempo
node 1.10 name sigge
node 1.11 name rocky
node 1.12 name pony
node 1.13 name mim
node 1.14 name tina
node 1.15 name pondus
node 1.16 name gnat
node 1.17 name josse
node 1.18 name pamina
node 1.19 name bea
node 1.20 name wxp
node 1.21 name jocke
node 1.22 name puff
node 1.23 name wxp2
node 1.24 name speedy
node 1.100 name fletch
node 1.150 name horse
node 1.151 name qemunt
node 1.200 name plinth
node 1.201 name crisps
node 1.202 name nipper
node 1.250 name tardis
node 1.251 name master
node 1.252 name doctor
node 1.253 name sidrat
node 1.255 name rutan
node 1.301 name orav23
node 1.302 name orav41
node 1.303 name rsx134
node 1.304 name rsx145
node 1.305 name rsx170
node 1.306 name rsx124
node 1.307 name rsx184
node 1.350 name ersatz
node 1.351 name dbit
node 1.400 name valar
node 1.450 name de1rsx
node 1.451 name klio
node 1.452 name de1rsy
node 1.500 name hyuna
node 1.510 name pmavs2
node 1.520 name piston
node 1.540 name rei
node 1.541 name pai
node 1.542 name rojin
node 1.550 name qcocal
node 1.551 name cloudy
node 1.552 name juichi
node 1.554 name fomfor
node 1.555 name ostara
node 1.557 name entee4
node 1.559 name impvax
node 1.560 name pidp11
node 1.601 name topsy
node 1.602 name hugin
node 1.603 name munin
node 1.604 name tipsy
node 1.605 name atle
node 1.606 name aurora
node 1.607 name loke
node 1.608 name frej
node 1.609 name ymer
node 1.610 name nomad
node 1.616 name elin
node 1.617 name elmer
node 1.620 name athena
node 1.621 name pallas
node 1.720 name noxbit
node 1.1023 name a1rtr
node 2.1 name legato
node 2.2 name poco
node 2.4 name mezzo
node 2.6 name largo
node 2.7 name coda
node 2.9 name divisi
node 2.10 name adagio
node 2.11 name lento
node 2.12 name jensen
node 2.14 name multia
node 2.15 name pavane
node 2.16 name ziti
node 2.17 name charon
node 2.20 name venti
node 2.150 name loki
node 2.201 name selene
node 2.300 name lexx
node 2.301 name dream
node 2.302 name bee
node 3.47 name rvdsxl
node 3.171 name nuk1c
node 3.222 name musipc
node 4.1 name b7
node 4.2 name halo
node 4.10 name dallas
node 4.11 name ripley
node 4.12 name tsr2
node 4.13 name vulcan
node 4.14 name victor
node 4.244 name calpha
node 4.245 name engine
node 4.246 name mother
node 4.247 name minerv
node 4.248 name simvax
node 4.249 name slave
node 4.250 name orac
node 4.251 name zx6000
node 4.252 name node3
node 4.253 name node2
node 4.255 name x60
node 4.256 name bubble
node 4.257 name ellen
node 4.258 name tiger
node 4.259 name aleph
node 5.2 name vlc1
node 5.8 name vax780
node 5.10 name micro1
node 5.11 name mainvx
node 5.12 name micro2
node 5.14 name vax4
node 5.20 name vax6
node 5.21 name vax7
node 5.24 name micro4
node 5.30 name rtvax
node 5.101 name dago
node 5.102 name franz
node 5.103 name daniel
node 5.104 name donald
node 5.105 name track
node 5.106 name trick
node 5.107 name daisy
node 5.108 name gundel
node 5.109 name gitta
node 5.110 name panzer
node 5.111 name primus
node 5.112 name gustav
node 5.113 name dorett
node 5.114 name helfer
node 5.115 name dicky
node 5.116 name kuno
node 5.117 name klaas
node 5.118 name rita
node 5.130 name homer
node 5.132 name maggie
node 5.201 name earl
node 5.202 name fran
node 5.203 name robbie
node 5.204 name charly
node 5.205 name bruce
node 5.206 name ethyl
node 5.207 name roy
node 5.208 name basil
node 5.209 name spike
node 5.210 name monica
node 5.211 name mario
node 5.301 name jaka
node 5.302 name lili
node 5.303 name julius
node 5.1023 name a5rtr
node 6.1 name star69
node 6.2 name quigon
node 6.3 name bartld
node 6.4 name toochi
node 6.51 name darmok
node 6.52 name jalad
node 6.110 name arthur
node 6.130 name marsha
node 6.134 name roosta
node 7.6 name mbserv
node 7.60 name bitxov
node 7.61 name bitxoo
node 7.64 name bitxo1
node 7.65 name bitxo2
node 7.66 name bitxos
node 7.67 name bitxo4
node 7.68 name bitxo5
node 7.70 name bitxot
node 7.71 name bitxor
node 7.72 name bitxom
node 7.74 name bitxow
node 7.76 name bitxox
node 7.78 name bitxt2
node 7.79 name bitxt0
node 7.80 name bitxt1
node 7.81 name bitxoz
node 7.82 name bitxou
node 8.100 name ppvx01
node 8.101 name ppvx02
node 8.102 name ppvx03
node 8.195 name ketura
node 8.199 name moshix
node 8.200 name taco
node 8.201 name hirame
node 8.202 name inari
node 8.203 name hamach
node 8.204 name suzuki
node 8.205 name ebisu
node 8.207 name unagi
node 8.210 name maguro
node 8.220 name beirut
node 8.221 name lbnvax
node 8.222 name kibbeh
node 8.223 name watan
node 8.224 name labneh
node 8.225 name jbeil
node 8.226 name rmeil
node 8.244 name rescue
node 8.400 name gorvax
node 8.401 name chimpy
node 8.402 name chimp
node 8.403 name rhesus
node 8.404 name samdev
node 8.405 name arivax
node 8.408 name vaxpls
node 8.410 name fidogw
node 8.414 name solar
node 8.415 name lunar
node 8.430 name lemur
node 8.444 name b4gate
node 8.500 name pyffle
node 8.700 name razzle
node 8.800 name bonzo
node 8.808 name dellvx
node 8.900 name smdev0
node 8.901 name smdev1
node 8.902 name smdev2
node 8.903 name smdev3
node 9.1 name moira
node 9.2 name mindy
node 9.3 name missy
node 9.4 name mandy
node 9.5 name gewtst
node 9.7 name gewt1
node 9.10 name marley
node 9.12 name moya
node 9.54 name python
node 9.55 name ni1d
node 9.1022 name a9rtr2
node 9.1023 name a9rtr1
node 10.1 name shark
node 10.2 name snake
node 11.1 name vaxsys
node 11.2 name maisa
node 11.3 name a11pi
node 11.4 name sorkka
node 11.5 name vs3k1
node 11.6 name vsvlc
node 11.7 name hawk
node 11.8 name eagle
node 11.9 name jylkm5
node 11.10 name vs2k1
node 11.11 name vs4k5
node 11.12 name vs2k3
node 11.13 name vs2k4
node 11.14 name ugly
node 11.15 name cute
node 11.16 name mopo
node 11.17 name romu
node 11.18 name vs3k2
node 11.20 name pakvxt
node 11.100 name ds20
node 11.101 name axpsys
node 11.102 name alpha
node 11.103 name gamma
node 11.104 name delta
node 11.105 name beta
node 11.1023 name a11rtr
node 12.1 name docmst
node 12.2 name bender
node 12.3 name tron
node 12.4 name pooky
node 12.1023 name a12rtr
node 13.1 name black
node 13.2 name brown
node 13.3 name red
node 13.4 name orange
node 13.5 name yellow
node 13.6 name green
node 13.7 name blue
node 13.8 name violet
node 13.9 name grey
node 13.10 name white
node 13.1023 name colors
node 14.1 name sknlin
node 14.2 name sknrsx
node 14.3 name sknrse
node 14.4 name skhngw
node 14.5 name sknrx5
node 17.101 name blish
node 17.102 name gordon
node 17.221 name verne
node 17.1023 name knight
node 18.100 name vegas
node 18.101 name reno
node 18.102 name minden
node 18.103 name nye
node 18.104 name fallon
node 18.105 name eyn
node 18.150 name elko
node 18.151 name ely
node 18.414 name sully
node 18.777 name flind
node 18.1023 name gate18
node 19.4 name strgte
node 19.11 name agena
node 19.12 name altair
node 19.13 name crucis
node 19.14 name tauri
node 19.15 name scorpi
node 19.16 name spica
node 19.17 name pollux
node 19.18 name piscis
node 19.19 name denub
node 19.23 name pluto
node 19.38 name luna
node 19.40 name sgc
node 19.41 name sg1
node 19.42 name sg2
node 19.43 name sg3
node 19.44 name sg4
node 19.45 name sg5
node 19.46 name sg6
node 19.47 name sg7
node 19.48 name sg8
node 19.49 name sg9
node 19.55 name venus
node 19.77 name stars
node 19.82 name ceres
node 19.83 name mars
node 19.140 name dwarf
node 19.141 name dwarf1
node 19.142 name dwarf2
node 19.143 name dwarf3
node 19.144 name dwarf4
node 19.145 name dwarf5
node 19.146 name dwarf6
node 19.147 name dwarf7
node 19.150 name galaxy
node 19.151 name helios
node 19.152 name sirius
node 19.153 name orion
node 19.155 name saturn
node 19.216 name rpipdp
node 19.224 name rpivax
node 19.253 name decvax
node 19.254 name declab
node 19.255 name uranus
node 19.511 name isis
node 19.512 name kronos
node 19.513 name eos
node 19.514 name atlas
node 19.515 name hydra
node 19.1023 name blkhol
node 20.1 name wopr
node 20.2 name siop
node 20.3 name tx0
node 20.4 name joshua
node 20.5 name falken
node 20.6 name lytman
node 20.100 name norad
node 20.513 name snow
node 22.10 name sniffy
node 22.11 name snotty
node 22.12 name snortr
node 22.13 name kvasir
node 22.14 name olaf
node 22.15 name odin
node 22.16 name thor
node 22.17 name snotra
node 22.18 name ullr
node 22.19 name lofn
node 22.20 name grumpy
node 22.21 name dopey
node 22.22 name sneezy
node 22.23 name sleepy
node 22.24 name happy
node 22.25 name bshful
node 22.26 name dock
node 22.27 name heigh
node 22.28 name ho
node 22.29 name raven
node 22.30 name dwarfs
node 22.31 name thanos
node 22.32 name baldur
node 22.33 name tyr
node 22.34 name skagi
node 22.35 name borr
node 22.36 name dagur
node 22.37 name nott
node 22.38 name hel
node 22.1023 name a22rtr
node 23.1 name piglet
node 23.2 name rabbit
node 23.3 name owl
node 23.4 name roo
node 24.1 name megara
node 24.2 name deus
node 24.3 name mirage
node 24.4 name linc
node 24.5 name eve
node 24.7 name hex
node 24.8 name sarah
node 24.20 name mara
node 24.21 name durndl
node 24.22 name leela
node 24.23 name tycho
node 24.24 name traxus
node 24.25 name thoth
node 24.1023 name frost
node 25.29 name meddle
node 25.30 name agar30
node 25.31 name spri31
node 26.114 name doudou
node 26.115 name vidou
node 26.201 name merkur
node 26.411 name tge411
node 27.1 name area27
node 27.3 name mvb
node 27.4 name aldur
node 28.1 name rulcri
node 28.4 name rullfl
node 28.5 name rullf2
node 28.8 name cutler
node 28.9 name mstg84
node 28.26 name rullf
node 28.41 name rullfs
node 30.1 name frodo
node 30.2 name snoopy
node 30.3 name blinkn
node 30.4 name yoda
node 30.6 name r2d2
node 32.1 name fdr
node 33.1 name thrift
node 33.4 name chary
node 33.14 name frugal
node 33.15 name miser
node 33.17 name cheap
node 39.1 name mason
node 39.10 name roxy
node 39.11 name bosco
node 42.1 name canada
node 42.2 name daffy
node 42.3 name fuzzy
node 42.4 name riven
node 42.5 name sparky
node 42.6 name earth
node 42.7 name moon
node 42.8 name frick
node 42.9 name frack
node 42.42 name bet
node 42.1022 name hub
node 42.1023 name a42rtr
node 43.43 name hvita
node 43.44 name hekla
node 44.1 name helium
node 44.2 name xenon
node 44.3 name argon
node 44.4 name neon
node 44.5 name zilver
node 44.6 name jodium
node 44.7 name radon
node 44.8 name astaat
node 44.9 name osmium
node 44.10 name chloor
node 44.11 name zwawel
node 44.12 name indium
node 44.13 name erbium
node 44.14 name broom
node 44.15 name fosfor
node 44.16 name cobalt
node 44.17 name koper
node 44.18 name cerium
node 44.19 name ijzer
node 44.20 name chroom
node 44.21 name nikkel
node 44.22 name zink
node 44.23 name lood
node 44.24 name curium
node 44.25 name kwik
node 44.26 name goud
node 44.27 name radium
node 44.28 name tin
node 44.29 name fluor
node 44.30 name boor
node 44.31 name seleen
node 44.32 name arseen
node 44.33 name carbon
node 44.34 name oxygen
node 44.35 name titaan
node 44.36 name uraan
node 44.37 name barium
node 44.38 name cesium
node 44.39 name kalium
node 44.41 name azote
node 44.42 name vismut
node 44.43 name ozon
node 44.1023 name a44rtr
node 47.11 name giftvx
node 47.12 name gftvx2
node 47.47 name rfsaxp
node 47.100 name hilant
node 47.113 name siiri
node 47.333 name beefy
node 47.555 name labvax
node 47.556 name kuhavx
node 47.559 name hpivax
node 47.661 name solar5
node 47.700 name k4vx1
node 47.701 name k4vx2
node 47.727 name shams
node 47.747 name qamar
node 47.800 name k90vx1
node 47.801 name k90vx2
node 47.900 name rndvax
node 47.1000 name bonzo2
node 47.1001 name siika
node 47.1002 name siikax
node 51.1 name slimer
node 51.2 name walter
node 51.3 name dana
node 51.4 name gozer
node 51.5 name ray
node 51.6 name vigo
node 51.7 name lenny
node 51.10 name ghost
node 52.1 name sun
node 52.2 name rifter
node 52.3 name vigil
node 52.4 name drake
node 52.11 name vargur
node 52.12 name golem
node 52.600 name deb390
node 52.1023 name a52rtr
node 54.27 name chekov
node 54.28 name geordi
node 54.59 name ceire
node 54.66 name spock
node 54.80 name ceide
node 54.81 name ceisi
node 54.82 name ceiee
node 54.92 name scotty
node 54.100 name a54rtr
node 54.188 name btp
node 54.203 name newaca
node 54.334 name bofin
node 59.1 name oden
node 59.7 name nadja
node 59.10 name sol
node 59.11 name dimma
node 59.16 name xerxes
node 59.18 name kleo
node 59.19 name klas
node 59.20 name kicki
node 59.23 name storm
node 59.30 name toad1
node 59.31 name ulla
node 59.32 name fornax
node 59.33 name regn
node 59.40 name vera
node 59.41 name mrc
node 59.53 name elvira
node 59.55 name krylbo
node 59.56 name r29gw
node 59.57 name e825gw
node 59.58 name stupi
node 59.59 name ops1va
node 59.60 name r29gwa
node 60.648 name cameca
node 60.649 name zeus
node 60.650 name savage
node 60.651 name johnny
node 60.652 name monk
node 60.653 name ham
node 60.654 name doc
node 60.660 name renny
node 60.661 name lngtom
node 60.662 name ds201
node 60.663 name rstse
node 60.664 name pdxvax
node 61.2 name axpee
node 61.3 name ebola
node 61.4 name mecca
node 61.5 name fang
node 61.6 name bigv7k
node 61.50 name ra
node 61.150 name glgmsh
node 61.151 name marduk
node 61.152 name enkidu
node 61.1023 name a61rtr
node 62.1 name ctepba
node 62.2 name xpeh
node 62.3 name bigsys
node 62.4 name copoka
node 62.5 name bopoha
node 62.6 name kopoba
node 62.7 name tis
node 62.8 name asds20
node 62.9 name asgs80
node 62.10 name nokia
node 62.11 name kypebo
node 62.12 name ctepeo
node 62.13 name moho
node 62.637 name ctakah

/etc/decnet.conf (FOMFOR)


#
# DECnet hosts file - see https://supratim-sanyal.blogspot.com/2017/09/the-decnet-linux-experience-it-works.html
#
#Node Node Name Node Line Line
#Type Address Tag Name Tag Device
#----- ------- ----- ----- ----- ------
executor 1.554 name fomfor line eth1
node 1.1 name magica
node 1.2 name ernie
node 1.3 name fnatte
node 1.4 name goblin
node 1.5 name zeke
node 1.6 name gnome
node 1.7 name bjarne
node 1.8 name krille
node 1.9 name tempo
node 1.10 name sigge
node 1.11 name rocky
node 1.12 name pony
node 1.13 name mim
node 1.14 name tina
node 1.15 name pondus
node 1.16 name gnat
node 1.17 name josse
node 1.18 name pamina
node 1.19 name bea
node 1.20 name wxp
node 1.21 name jocke
node 1.22 name puff
node 1.23 name wxp2
node 1.24 name speedy
node 1.100 name fletch
node 1.150 name horse
node 1.151 name qemunt
node 1.200 name plinth
node 1.201 name crisps
node 1.202 name nipper
node 1.250 name tardis
node 1.251 name master
node 1.252 name doctor
node 1.253 name sidrat
node 1.255 name rutan
node 1.301 name orav23
node 1.302 name orav41
node 1.303 name rsx134
node 1.304 name rsx145
node 1.305 name rsx170
node 1.306 name rsx124
node 1.307 name rsx184
node 1.350 name ersatz
node 1.351 name dbit
node 1.400 name valar
node 1.450 name de1rsx
node 1.451 name klio
node 1.452 name de1rsy
node 1.500 name hyuna
node 1.510 name pmavs2
node 1.520 name piston
node 1.540 name rei
node 1.541 name pai
node 1.542 name rojin
node 1.550 name qcocal
node 1.551 name cloudy
node 1.552 name juichi
node 1.553 name fedach
node 1.555 name ostara
node 1.557 name entee4
node 1.559 name impvax
node 1.560 name pidp11
node 1.601 name topsy
node 1.602 name hugin
node 1.603 name munin
node 1.604 name tipsy
node 1.605 name atle
node 1.606 name aurora
node 1.607 name loke
node 1.608 name frej
node 1.609 name ymer
node 1.610 name nomad
node 1.616 name elin
node 1.617 name elmer
node 1.620 name athena
node 1.621 name pallas
node 1.720 name noxbit
node 1.1023 name a1rtr
node 2.1 name legato
node 2.2 name poco
node 2.4 name mezzo
node 2.6 name largo
node 2.7 name coda
node 2.9 name divisi
node 2.10 name adagio
node 2.11 name lento
node 2.12 name jensen
node 2.14 name multia
node 2.15 name pavane
node 2.16 name ziti
node 2.17 name charon
node 2.20 name venti
node 2.150 name loki
node 2.201 name selene
node 2.300 name lexx
node 2.301 name dream
node 2.302 name bee
node 3.47 name rvdsxl
node 3.171 name nuk1c
node 3.222 name musipc
node 4.1 name b7
node 4.2 name halo
node 4.10 name dallas
node 4.11 name ripley
node 4.12 name tsr2
node 4.13 name vulcan
node 4.14 name victor
node 4.244 name calpha
node 4.245 name engine
node 4.246 name mother
node 4.247 name minerv
node 4.248 name simvax
node 4.249 name slave
node 4.250 name orac
node 4.251 name zx6000
node 4.252 name node3
node 4.253 name node2
node 4.255 name x60
node 4.256 name bubble
node 4.257 name ellen
node 4.258 name tiger
node 4.259 name aleph
node 5.2 name vlc1
node 5.8 name vax780
node 5.10 name micro1
node 5.11 name mainvx
node 5.12 name micro2
node 5.14 name vax4
node 5.20 name vax6
node 5.21 name vax7
node 5.24 name micro4
node 5.30 name rtvax
node 5.101 name dago
node 5.102 name franz
node 5.103 name daniel
node 5.104 name donald
node 5.105 name track
node 5.106 name trick
node 5.107 name daisy
node 5.108 name gundel
node 5.109 name gitta
node 5.110 name panzer
node 5.111 name primus
node 5.112 name gustav
node 5.113 name dorett
node 5.114 name helfer
node 5.115 name dicky
node 5.116 name kuno
node 5.117 name klaas
node 5.118 name rita
node 5.130 name homer
node 5.132 name maggie
node 5.201 name earl
node 5.202 name fran
node 5.203 name robbie
node 5.204 name charly
node 5.205 name bruce
node 5.206 name ethyl
node 5.207 name roy
node 5.208 name basil
node 5.209 name spike
node 5.210 name monica
node 5.211 name mario
node 5.301 name jaka
node 5.302 name lili
node 5.303 name julius
node 5.1023 name a5rtr
node 6.1 name star69
node 6.2 name quigon
node 6.3 name bartld
node 6.4 name toochi
node 6.51 name darmok
node 6.52 name jalad
node 6.110 name arthur
node 6.130 name marsha
node 6.134 name roosta
node 7.6 name mbserv
node 7.60 name bitxov
node 7.61 name bitxoo
node 7.64 name bitxo1
node 7.65 name bitxo2
node 7.66 name bitxos
node 7.67 name bitxo4
node 7.68 name bitxo5
node 7.70 name bitxot
node 7.71 name bitxor
node 7.72 name bitxom
node 7.74 name bitxow
node 7.76 name bitxox
node 7.78 name bitxt2
node 7.79 name bitxt0
node 7.80 name bitxt1
node 7.81 name bitxoz
node 7.82 name bitxou
node 8.100 name ppvx01
node 8.101 name ppvx02
node 8.102 name ppvx03
node 8.195 name ketura
node 8.199 name moshix
node 8.200 name taco
node 8.201 name hirame
node 8.202 name inari
node 8.203 name hamach
node 8.204 name suzuki
node 8.205 name ebisu
node 8.207 name unagi
node 8.210 name maguro
node 8.220 name beirut
node 8.221 name lbnvax
node 8.222 name kibbeh
node 8.223 name watan
node 8.224 name labneh
node 8.225 name jbeil
node 8.226 name rmeil
node 8.244 name rescue
node 8.400 name gorvax
node 8.401 name chimpy
node 8.402 name chimp
node 8.403 name rhesus
node 8.404 name samdev
node 8.405 name arivax
node 8.408 name vaxpls
node 8.410 name fidogw
node 8.414 name solar
node 8.415 name lunar
node 8.430 name lemur
node 8.444 name b4gate
node 8.500 name pyffle
node 8.700 name razzle
node 8.800 name bonzo
node 8.808 name dellvx
node 8.900 name smdev0
node 8.901 name smdev1
node 8.902 name smdev2
node 8.903 name smdev3
node 9.1 name moira
node 9.2 name mindy
node 9.3 name missy
node 9.4 name mandy
node 9.5 name gewtst
node 9.7 name gewt1
node 9.10 name marley
node 9.12 name moya
node 9.54 name python
node 9.55 name ni1d
node 9.1022 name a9rtr2
node 9.1023 name a9rtr1
node 10.1 name shark
node 10.2 name snake
node 11.1 name vaxsys
node 11.2 name maisa
node 11.3 name a11pi
node 11.4 name sorkka
node 11.5 name vs3k1
node 11.6 name vsvlc
node 11.7 name hawk
node 11.8 name eagle
node 11.9 name jylkm5
node 11.10 name vs2k1
node 11.11 name vs4k5
node 11.12 name vs2k3
node 11.13 name vs2k4
node 11.14 name ugly
node 11.15 name cute
node 11.16 name mopo
node 11.17 name romu
node 11.18 name vs3k2
node 11.20 name pakvxt
node 11.100 name ds20
node 11.101 name axpsys
node 11.102 name alpha
node 11.103 name gamma
node 11.104 name delta
node 11.105 name beta
node 11.1023 name a11rtr
node 12.1 name docmst
node 12.2 name bender
node 12.3 name tron
node 12.4 name pooky
node 12.1023 name a12rtr
node 13.1 name black
node 13.2 name brown
node 13.3 name red
node 13.4 name orange
node 13.5 name yellow
node 13.6 name green
node 13.7 name blue
node 13.8 name violet
node 13.9 name grey
node 13.10 name white
node 13.1023 name colors
node 14.1 name sknlin
node 14.2 name sknrsx
node 14.3 name sknrse
node 14.4 name skhngw
node 14.5 name sknrx5
node 17.101 name blish
node 17.102 name gordon
node 17.221 name verne
node 17.1023 name knight
node 18.100 name vegas
node 18.101 name reno
node 18.102 name minden
node 18.103 name nye
node 18.104 name fallon
node 18.105 name eyn
node 18.150 name elko
node 18.151 name ely
node 18.414 name sully
node 18.777 name flind
node 18.1023 name gate18
node 19.4 name strgte
node 19.11 name agena
node 19.12 name altair
node 19.13 name crucis
node 19.14 name tauri
node 19.15 name scorpi
node 19.16 name spica
node 19.17 name pollux
node 19.18 name piscis
node 19.19 name denub
node 19.23 name pluto
node 19.38 name luna
node 19.40 name sgc
node 19.41 name sg1
node 19.42 name sg2
node 19.43 name sg3
node 19.44 name sg4
node 19.45 name sg5
node 19.46 name sg6
node 19.47 name sg7
node 19.48 name sg8
node 19.49 name sg9
node 19.55 name venus
node 19.77 name stars
node 19.82 name ceres
node 19.83 name mars
node 19.140 name dwarf
node 19.141 name dwarf1
node 19.142 name dwarf2
node 19.143 name dwarf3
node 19.144 name dwarf4
node 19.145 name dwarf5
node 19.146 name dwarf6
node 19.147 name dwarf7
node 19.150 name galaxy
node 19.151 name helios
node 19.152 name sirius
node 19.153 name orion
node 19.155 name saturn
node 19.216 name rpipdp
node 19.224 name rpivax
node 19.253 name decvax
node 19.254 name declab
node 19.255 name uranus
node 19.511 name isis
node 19.512 name kronos
node 19.513 name eos
node 19.514 name atlas
node 19.515 name hydra
node 19.1023 name blkhol
node 20.1 name wopr
node 20.2 name siop
node 20.3 name tx0
node 20.4 name joshua
node 20.5 name falken
node 20.6 name lytman
node 20.100 name norad
node 20.513 name snow
node 22.10 name sniffy
node 22.11 name snotty
node 22.12 name snortr
node 22.13 name kvasir
node 22.14 name olaf
node 22.15 name odin
node 22.16 name thor
node 22.17 name snotra
node 22.18 name ullr
node 22.19 name lofn
node 22.20 name grumpy
node 22.21 name dopey
node 22.22 name sneezy
node 22.23 name sleepy
node 22.24 name happy
node 22.25 name bshful
node 22.26 name dock
node 22.27 name heigh
node 22.28 name ho
node 22.29 name raven
node 22.30 name dwarfs
node 22.31 name thanos
node 22.32 name baldur
node 22.33 name tyr
node 22.34 name skagi
node 22.35 name borr
node 22.36 name dagur
node 22.37 name nott
node 22.38 name hel
node 22.1023 name a22rtr
node 23.1 name piglet
node 23.2 name rabbit
node 23.3 name owl
node 23.4 name roo
node 24.1 name megara
node 24.2 name deus
node 24.3 name mirage
node 24.4 name linc
node 24.5 name eve
node 24.7 name hex
node 24.8 name sarah
node 24.20 name mara
node 24.21 name durndl
node 24.22 name leela
node 24.23 name tycho
node 24.24 name traxus
node 24.25 name thoth
node 24.1023 name frost
node 25.29 name meddle
node 25.30 name agar30
node 25.31 name spri31
node 26.114 name doudou
node 26.115 name vidou
node 26.201 name merkur
node 26.411 name tge411
node 27.1 name area27
node 27.3 name mvb
node 27.4 name aldur
node 28.1 name rulcri
node 28.4 name rullfl
node 28.5 name rullf2
node 28.8 name cutler
node 28.9 name mstg84
node 28.26 name rullf
node 28.41 name rullfs
node 30.1 name frodo
node 30.2 name snoopy
node 30.3 name blinkn
node 30.4 name yoda
node 30.6 name r2d2
node 32.1 name fdr
node 33.1 name thrift
node 33.4 name chary
node 33.14 name frugal
node 33.15 name miser
node 33.17 name cheap
node 39.1 name mason
node 39.10 name roxy
node 39.11 name bosco
node 42.1 name canada
node 42.2 name daffy
node 42.3 name fuzzy
node 42.4 name riven
node 42.5 name sparky
node 42.6 name earth
node 42.7 name moon
node 42.8 name frick
node 42.9 name frack
node 42.42 name bet
node 42.1022 name hub
node 42.1023 name a42rtr
node 43.43 name hvita
node 43.44 name hekla
node 44.1 name helium
node 44.2 name xenon
node 44.3 name argon
node 44.4 name neon
node 44.5 name zilver
node 44.6 name jodium
node 44.7 name radon
node 44.8 name astaat
node 44.9 name osmium
node 44.10 name chloor
node 44.11 name zwawel
node 44.12 name indium
node 44.13 name erbium
node 44.14 name broom
node 44.15 name fosfor
node 44.16 name cobalt
node 44.17 name koper
node 44.18 name cerium
node 44.19 name ijzer
node 44.20 name chroom
node 44.21 name nikkel
node 44.22 name zink
node 44.23 name lood
node 44.24 name curium
node 44.25 name kwik
node 44.26 name goud
node 44.27 name radium
node 44.28 name tin
node 44.29 name fluor
node 44.30 name boor
node 44.31 name seleen
node 44.32 name arseen
node 44.33 name carbon
node 44.34 name oxygen
node 44.35 name titaan
node 44.36 name uraan
node 44.37 name barium
node 44.38 name cesium
node 44.39 name kalium
node 44.41 name azote
node 44.42 name vismut
node 44.43 name ozon
node 44.1023 name a44rtr
node 47.11 name giftvx
node 47.12 name gftvx2
node 47.47 name rfsaxp
node 47.100 name hilant
node 47.113 name siiri
node 47.333 name beefy
node 47.555 name labvax
node 47.556 name kuhavx
node 47.559 name hpivax
node 47.661 name solar5
node 47.700 name k4vx1
node 47.701 name k4vx2
node 47.727 name shams
node 47.747 name qamar
node 47.800 name k90vx1
node 47.801 name k90vx2
node 47.900 name rndvax
node 47.1000 name bonzo2
node 47.1001 name siika
node 47.1002 name siikax
node 51.1 name slimer
node 51.2 name walter
node 51.3 name dana
node 51.4 name gozer
node 51.5 name ray
node 51.6 name vigo
node 51.7 name lenny
node 51.10 name ghost
node 52.1 name sun
node 52.2 name rifter
node 52.3 name vigil
node 52.4 name drake
node 52.11 name vargur
node 52.12 name golem
node 52.600 name deb390
node 52.1023 name a52rtr
node 54.27 name chekov
node 54.28 name geordi
node 54.59 name ceire
node 54.66 name spock
node 54.80 name ceide
node 54.81 name ceisi
node 54.82 name ceiee
node 54.92 name scotty
node 54.100 name a54rtr
node 54.188 name btp
node 54.203 name newaca
node 54.334 name bofin
node 59.1 name oden
node 59.7 name nadja
node 59.10 name sol
node 59.11 name dimma
node 59.16 name xerxes
node 59.18 name kleo
node 59.19 name klas
node 59.20 name kicki
node 59.23 name storm
node 59.30 name toad1
node 59.31 name ulla
node 59.32 name fornax
node 59.33 name regn
node 59.40 name vera
node 59.41 name mrc
node 59.53 name elvira
node 59.55 name krylbo
node 59.56 name r29gw
node 59.57 name e825gw
node 59.58 name stupi
node 59.59 name ops1va
node 59.60 name r29gwa
node 60.648 name cameca
node 60.649 name zeus
node 60.650 name savage
node 60.651 name johnny
node 60.652 name monk
node 60.653 name ham
node 60.654 name doc
node 60.660 name renny
node 60.661 name lngtom
node 60.662 name ds201
node 60.663 name rstse
node 60.664 name pdxvax
node 61.2 name axpee
node 61.3 name ebola
node 61.4 name mecca
node 61.5 name fang
node 61.6 name bigv7k
node 61.50 name ra
node 61.150 name glgmsh
node 61.151 name marduk
node 61.152 name enkidu
node 61.1023 name a61rtr
node 62.1 name ctepba
node 62.2 name xpeh
node 62.3 name bigsys
node 62.4 name copoka
node 62.5 name bopoha
node 62.6 name kopoba
node 62.7 name tis
node 62.8 name asds20
node 62.9 name asgs80
node 62.10 name nokia
node 62.11 name kypebo
node 62.12 name ctepeo
node 62.13 name moho
node 62.637 name ctakah


-x-

Tuesday, September 12, 2017

DECnet Phase IV: copy node database from remote host and share it with other nodes over network with Digital DEC servers

Supratim Sanyal's Blog: DECnet-20 on TOPS-20 (TWENEX)
DECnet-20 on TOPS-20 (TWENEX) from "TOPS-20 DECnet-20 Programmer's Guide and Operations Manual" at Bitsavers


DECnet Phase IV on OpenVMS VAX 7.3

To copy the nodes database from a remote host and make it available to other nodes to copy from my node, I use the command file at the bottom. Here <REMOTE-NODE> is the DECnet node name / address of the host I copy my node database from.

After copying over the remote node database from another server (a PDP-11/24 running RSX-11M Plus that serves HECnet the world-wide hobbyist DECnet in this case), I basically copy SYS$SYSTEM:NETNODE_LOCAL.DAT and SYS$SYSTEM:NETNODE_REMOTE.DAT to SYS$COMMON:[SYSEXE] and grant them world-read permission.

Before doing this, other nodes that tried to copy the node database from my node (1.559) used to get this error, which does not happen any more:
$ MC NCP TELL 1.559 LIST KNOWN NODES
Known Node Permanent Summary as of 12-SEP-2017 18:29:00
%NCP-W-FILOPE, File open error , Permanent database
%NML-E-OPENIN, error opening SYS$COMMON:[SYSEXE]NETNODE_LOCAL.DAT; as input
-RMS-E-FNF, file not found

I also played around with enabling the NML proxy before running the commands in the DCL command file at bottom. I am not sure if I had enabled the NML proxy during installation of DECnet Phase IV and if these were required, but just doing these did not solve the problem. They may be required part of the solution, though.

$ MC NCP SET EXECUTOR INCOMING PROXY ENABLE
$ MC NCP DEFINE EXECUTOR INCOMING PROXY ENABLE
$ MC NCP SET OBJECT NML PROXY INCOMING
$ MC NCP DEFINE OBJECT NML PROXY INCOMING

Here is the DCL script:

$ SET PROC/PRIV=ALL
$ MC NCP copy known nodes from <REMOTE-NODE> using volatile to BOTH
$ MC NCP LIST KNOWN NODES
$ COPY/LOG/NOCONF SYS$SYSTEM:NETNODE_LOCAL.DAT SYS$COMMON:[SYSEXE]NETNODE_LOCAL.DAT
$ SET FILE/LOG/PROT=(W:R) SYS$COMMON:[SYSEXE]NETNODE_LOCAL.DAT
$ COPY/LOG/NOCONF SYS$SYSTEM:NETNODE_REMOTE.DAT SYS$COMMON:[SYSEXE]NETNODE_REMOTE.DAT
$ SET FILE/LOG/PROT=(W:R) SYS$COMMON:[SYSEXE]NETNODE_REMOTE.DAT


PDP-11/24 RSX-11M-PLUS 4.6


The HECnet node database is diligently maintained current at http://mim.update.uu.se/hecnod. It is a list of nodes, one per line, with a search box at the top. The line entries are in the form of white-space delimited information fields per node for HECnet nodes. The first two fields are the DECnet node address and the node name in round brackets. Here is an example line entry:

31.3 (PYRTR)    Reachable                   IP-0-9       31.3 (PYRTR)

The following simple Linux command-line fetches the HECnet node database over HTTP and produces a "nodename.cmd" command file that can be uploaded and executed on PDP-11/24 systems running RSX-11M-PLUS operating system (for example, my own node JUICHI). The command file will be a series of NCP command lines, one per node, setting the node addresses to node names.

curl -sNm 60 http://mim.update.uu.se/hecnod | dos2unix | egrep "^[0-9]" | cut -f 1-2 -d " " | sed -re 's/^/NCP SET NODE /' | sed -re 's/[(]/NAME /' | sed -re 's/[)]//' > nodename.cmd

But the resultant nodename.cmd misses the entry of 1.13 (MIM) because MIM is the executor and only mentions itself at the top of the list, not in the actual list of known nodes. So manually edit nodename.cmd and add a line for MIM:

NCP SET NODE 1.13 NAME MIM

To upload nodename.cmd to JUICHI, I FTP it to QCOCAL VAX and then use DECnet COPY to copy it over to JUICHI.

Alternatively, if we are already connected to HECnet, steps like the following get the node database straight from MIM using CFE. We can ignore the warnings for trying to redefine the executor's node name and address.


UNIBUS (UNA network device):

>NCP SET NODE MIM ADDRESS 1.13
NCP -- Set failed, invalid identification format, Node
>NFT FIX.CMD=MIM"GUEST GUEST"::HECNET:FIX.CMD
>RUN [5,54]CFERES
Enter filename: [5,54]CETAB
CFE>@fix.cmd
    DEF >>NOD 31.12 NAME JUICHI
CFE -- Parameter not applicable
CFE>^Z
>


QBUS (QNA network device):

>NCP SET NODE MIM ADDRESS 1.13
>NFT FIX.CMD=MIM"GUEST GUEST"::HECNET:FIX.CMD
>RUN [5,54]CFEFSL
Enter filename: [5,54]CETAB
CFE>@FIX.CMD
    DEF >>NOD 31.34 NAME NANAJU
CFE -- Parameter not applicable
CFE>^Z
>


PDP-10 KS10 TOPS-10 DECnet-10 (TWONKY)


To update the DECnet node database on my PDP-10 KS10 node "TWONKY" I run this command procedure from the [1,2] account:

;NODNAM.CMD
.r opr
*enter ncp
*set node 1.13 name mim
*return
*exit
.r nft
*copy fix.t20=mim::hecnet:FIX.T20/user:guest::guest
;exit
.r opr
*enter ncp
*take fix.t20
*exit
 

PDP-10 KL10 TOPS-20 DECnet-20 (TWENEX)

Current Approach

I have a command file "NODNAM.CMD" with the following contents which I then SUBMIT NODNAM.CMD as a batch job and watch the log using TYPE NODNAM.LOG.

;NODNAM.CMD
@ena
@r opr
*enter ncp
*set node 1.13 name mim
*return
*exit
@nft
*SET DEFAULTS MIM:: /USER:GUEST
*SET DEFAULTS MIM:: /PASSWORD:GUEST
*SET DEFAULTS MIM:: /ACCOUNT:GUEST
*copy mim::hecnet:fix.t20 fix.t20
;Access information for node mim::
;User: guest
;Account: guest
;Password:guest
;mim::DU1:[DECNET]FIX.T20;123 => TOPS20:<OPERATOR>FIX.T20.2 [OK]
*exit
@r opr
*enter ncp
*take fix.t20
*exit
@info batch
@echo game over

Once the bacth job completes, the latest HECnet node names are defined on TWENEX, and I can, for example, successfully do this:

$OPR
OPR>NCP TELL NJEVX2 SHOW EXEC CHAR
OPR>
04:31:53        NCP
                Request # 288 Accepted
OPR>
04:31:53        NCP

Request # 288; Show Executor Node Characteristics Completed

Executor Node = 31.36 (NJEVX2)

  Identification = DECnet for OpenVMS VAX V7.3
  Management Version = 4.0.0
  Incoming Timer = 45
  Outgoing Timer = 60
  Parameter #522 = 0
  Parameter #523 = 0
  NSP Version = 4.1.0
  Maximum Links = 32
  Delay Factor = 80
  Delay Weight = 5
  Inactivity Timer = 60
  Retransmit Factor = 10
  Routing Version = 2.0.0
  Type = Nonrouting IV
  Routing Timer = 600
  Broadcast Routing Timer = 180
  Maximum Address = 1023
  Maximum Circuits = 16
  Maximum Cost = 1022
  Maximum Hops = 30
  Maximum Visits = 63
  Maximum Area = 63
  Maximum Broadcast Nonrouters = 64
  Maximum Broadcast Routers = 32
  Parameter #933 = 1
  Area Maximum Cost = 1022
  Area Maximum Hops = 30
  Maximum Buffers = 100
  Buffer Size = 576
  Non-privileged User ID = DECNET
  Default access = Incoming and outgoing
  Pipeline quota = 4032
  Parameter #2743 = 32
  Parameter #2780 = 0
  Parameter #2785 = 31
OPR>EXIT
$LOGOUT
[Jobs 0(DET), 1, 2(DET), 3, 4, 5, 6, 7, 8 also logged in under OPERATOR]
Killed Job 9, User OPERATOR, TTY5, at 10-Feb-2020 04:38:35

 Used 0:00:00 in 0:04:44

Prior (Obsolete) Approach

To update the DECnet node database on my PDP-10 TWENEX node I first run the following Linux command line to produce a nodnm20.cmd command file. The generated command file is basically a series of lines of the form "SET NODE <xx.yyy> NAME <name>" based on the nodename database retrieved over the web from MIM.


curl -sNm 60 http://mim.update.uu.se/hecnod | dos2unix | egrep "^[0-9]" | cut -f 1-2 -d " " | sed -re 's/^/SET NODE /' | sed -re 's/[(]/NAME /' | sed -re 's/[)]//' > nodnm20.cmd


I then manually edit nodnm20.cmd to add a line for MIM itself:

SET NODE 1.13 NAME MIM

and then upload nodnm20.cmd using OPERATOR account to TWENEX. For uploading, I FTP it to a VAX (e.g. QCOCAL) and the use DECnet COPY from the VAX to TWENEX, like this:

$ COPY/LOG nodnm20.cmd TWENEX"OPERATOR <PASSWORD>"::

Then, my subsequent steps to update the TOPS-20 MONITOR are:

^C
@LOGIN OPERATOR
Password: 
 End of <SYSTEM>LOGIN.CMD.2
 End of LOGIN.CMD.1
@ENA
$COPY NODNM20.CMD  SYS:
 NODNM20.CMD.1 => <SUBSYS>NODNM20.CMD.3 [OK]
$PURGE SYS:
$DIR SYS:NOD*.CMD

   TOPS20:<SUBSYS>
 NODNM20.CMD.3


 Total of 8 pages in 1 file
$RUN SYS:SETNOD
SETNOD>TAKE NODNM20.CMD
SETNOD>SAVE SYSTEM:DECNET-NODES.DAT

SETNOD>INSERT
SETNOD>EXIT


PDP-11/73 RSTS/E 10.1 DECnet/E V4.1


Updating the DECnet node database on my PDP-11/73 running RTST/E 10.1 with DECnet/E 4.1 is similar, but not identical, to TWENEX and RSX-11M-PLUS. The following Linux bash shell script produces a RSTS/E command file defnod.cmd. It includes DEFINE NODE commands and then SET NODE commands to update the permanent as well as volatile node databases.

#!/bin/bash
OUTFILE="defnod.cmd"
echo "SET VER" > ${OUTFILE}
echo "SET NOON" >> ${OUTFILE}
curl -sNm 60 http://mim.update.uu.se/hecnod | dos2unix | egrep "^[0-9]" | cut -f 1-2 -d " " | sed -re 's/^/NCP DEFINE NODE /' | sed -re 's/[(]/NAME /' | sed -re 's/[)]//' >> ${OUTFILE}
sleep 5
curl -sNm 60 http://mim.update.uu.se/hecnod | dos2unix | egrep "^[0-9]" | cut -f 1-2 -d " " | sed -re 's/^/NCP SET NODE /' | sed -re 's/[(]/NAME /' | sed -re 's/[)]//' >> ${OUTFILE}
ls -l ${OUTFILE}


I then manually edit defnod.cmd and add a line for MIM itself:

NCP SET NODE 1.13 NAME MIM

and FTP the final defnod.cmd to a VAX/VMS box and then copy it over DECnet to the [1,2] account on RSTS/E. The /OVERWRITE switch is necessary here since DECnet/E for RSTS/E refuses to overwrite the file if it already exists.

$ copy *nod.cmd RST101"1,2 <password>":: /log /over
%COPY-I-OVERLAY, RST101"1,2 password"::SY:[1,2]DEFNOD.CMD being overwritten
%COPY-S-COPIED, DUA1:[SANYAL]DEFNOD.CMD;2 copied to RST101"1,2 password"::SY:[1,2]DEFNOD.CMD (95 blocks)

Then I log into RSTS/E as 1,2 and execute the command file.

$ @defnod.cmd

A simple test to check if it works:

$ NCP TELl NJEVX2 SHOW EXEC CHAR
Node Volatile Characteristics as of 11-FEB-20 23:23:52

Executor Node = 31.36 (NJEVX2)

Identification             = DECnet for OpenVMS VAX V7.3
Management Version         = 4.0.0
Incoming Timer             = 45
Outgoing Timer             = 60
Parameter #522             = %H'00' 
Parameter #523             = %H'00' 
ECL Version                = 4.1.0
Maximum Links              = 32
Delay Factor               = 80
Delay Weight               = 5
Inactivity Timer           = 60
Retransmit Factor          = 10
Routing Version            = 2.0.0
Type                       = Non-Routing IV
Routing Timer              = 600
Broadcast Routing Timer    = 180
Maximum Address            = 1023
Maximum Circuits           = 16
Maximum Cost               = 1022
Maximum Hops               = 30
Maximum Visits             = 63
Maximum Area               = 63
Max Broadcast Nonrouters   = 64
Max Broadcast Routers      = 32
Parameter #933             = %D'1' 
Area Maximum Cost          = 1022
Area Maximum Hops          = 30
Maximum Buffers            = 100
Buffer Size                = 576
Parameter #2712            = %A'DECNET' 
Parameter #2731            = %H'03' 
Parameter #2740            = %D'4032' 
Parameter #2743            = %D'32' 
Parameter #2780            = %H'00' 
Parameter #2785            = %D'31' 
$ 


Apple Macintosh Classic MacOS 7 & MacOS 9 - Thursby TSSNet / DEC Digital Pathworks for Macintosh

From the TSSNet or DECnet for Macintosh folder, launch the NCP application. This will open up the "DECnet Network Control Program" (NCP) window.

Click on the "Node Definitions" long button on the "DECnet Network Control Program" window.


DECnet for Macintosh: Thursby Software TSSNET for Macintosh: Copy node database - Screen 1



The "DECnet Node Name Management" window will be displayed. Fill in the Area Number and Node Number of the remote DECnet node which you want to copy the node database from. Then click on the "Ask" button.


DECnet for Macintosh: Thursby TSSnet for Macintosh: Copy node database - Screen 2



You will be presented with a windows asking for the Username and Password. Usually there is not Username and Password configured for DECnet Node Database access; leave them empty and click on OK.


DECnet for Macintosh: Thursby Software TSSnet for Macintosh: Copy node database - Screen 3



The next question will be about the name of the node or area number that you are inquiring about. Since we want to copy over the entire node database including all areas and all nodes, enter an asterisk (*) and click on INQUIRE.

DECnet for Macintosh: Thursby TSSNET for Macintosh: Copy node database - Screen 4



A pop-up will now say "Loading Node : " followed by rapidly changing node names as their definitions are copied over from the remote node.


DECnet for Macintosh: Thursby Software TSSNET for Macintosh: Copy node database - Screen 5





Windows NT 4.0 - DEC Pathworks 32 7.4



Supratim Sanyal's Blog: Copy DECnet Phase IV Node Databse from OpenVMS VAX server to Windows NT 4.0 running DEC Pathworks 32 7.4 over DECnet using NCP copy command


After configuring DEC Pathworks 32 on Windows NT 4.0 and establishing DECnet Phase IV communication with my DECnet nodes, I copied over the DECnet node database from IMPVAX OpenVMS VAX 7.3 (1.559) to Windows NT 4.0 Pathworks-32 using the simple NCP command:

NCP COPY KNOWN NODES FROM 1.559

A subsequent NCP LIST KNOWN NODES command produced a full list of DECnet nodes copied over from IMPVAX.


DECnet/Python



Paul Koning's DECnet/Python expects a list of DECnet nodes and addresses, one on each line, in the format:

node address name

This bash shell script generates a suitable nodenames.conf database for HECnet:

#!/bin/bash
# --
# hecnet-nodes-for-pydecnet.sh
# grabs HECnet node list from MIM and produces node names configuration
# file for DECnet/Python
#
# Author: Supratim Sanyal <supratim at riseup dot net>
# --
OUTFILE="nodenames.conf"
TMPFILE="/tmp/mimnodeslist.txt"
###if ! wget -O ${TMPFILE} http://mim.update.uu.se/hecnod; then
if ! wget -O ${TMPFILE} http://mim.stupi.net/hecnod; then
echo "$0: error - wget failed"
exit 1
fi
echo "# HECnet Node List: `date` generated on `hostname`" > ${OUTFILE}
echo "node 1.13 MIM" >> ${OUTFILE}
FOO=`cat ${TMPFILE} | dos2unix | egrep "^[0-9]" | cut -f 1-2 -d " " | sed -re 's/^/node /' | sed -re 's/[(]/ /' | sed -re 's/[)]//'`
echo "${FOO}" | while read -r LINE ; do
if [[ ${LINE} == "node "[0-9]*" "* ]]; then
echo "${LINE}" >> ${OUTFILE}
else
echo "SKIPPED ${LINE}"
fi
done
echo "$0: Written ${OUTFILE}"
exit 0

CISCO Switches (DECnet over GRE tunnel on CISCO 7204VXR)

#!/bin/bash
#
# CISCO needs commands of the form
# DECNET HOST PUFF 1.22
#
OUTFILE="nodenames-cisco-ios"
TMPFILE="/tmp/hecnet-cisco-temp.tmp"
curl -sNm 60 http://mim.update.uu.se/hecnod | dos2unix | egrep "^[0-9]" | cut -f 1-2 -d " " | sed -re 's/^/ /' | sed -re 's/[(]/DECNET HOST /' | sed -re 's/[)]//' > ${TMPFILE}
echo "DECNET HOST MIM 1.13" > ${OUTFILE}
while read a b c d; do echo $b $c $d $a; done < ${TMPFILE} >> ${OUTFILE}
echo "EXAMINE THIS CAREFULLY BEFORE COPY PASTE INTO CISCO ROUTER"
echo "Then copy the contents to clipboard, TELNET TO THE ROUTER IP, ena, config t, PASTE from clipboard, end, write mem, logout"
ls -l ${OUTFILE}
sync;sync;sync
exit 0


Saturday, September 9, 2017

From Supernova to Intel Xeon L2 CPU Cache: My Own Machine Check Event (MCE) Glitch!

Supratim Sanyal's Blog: A Supernova Causes a MCE Machine Check Event on Intel Processor
Less than thirteen and a three-quarters of a billion years ago, a star the size of about fifteen times our own sun ran out of hydrogen fuel in its core to burn into helium.

Undeterred and left with prodigious amounts of helium, it non-nonchalantly started on the helium to burn to carbon for a few billion years. Then it lit up the carbon, and spent billions of years to continue up the periodic table - aluminum, silicon, nickel, copper, lead ... all the while pushing the lighter stuff outwards in layers and getting heavier in the middle where gravity kept getting happier. In another few billion years, gravity betrayed a little smile when the star crossed over the Chandrasekhar Limit. For gravity had won again, as it always does; all the energy of the burning core could no longer hold the star up. The collapse started.

The unrelenting crush of gravity then continued to make that star's core so dense and so hot that, more importantly than human equations trying to compute it starting to fail, something had to give.

After billions of years of cooking the elements, it took barely one and a half minutes for the core to explode, lighting up the universe with such brightness that it would be clearly visible to naked human eyes in daytime when that light would reach planet Earth.

The supernova explosion scattered the periodic table into space. Some of that ejected matter coagulated into a scary collection of mostly hydrogen and carbon-based molecules which would be labeled together as "Supratim Sanyal". 

The explosion also fired off, at light speed in all directions, billions of little monsters - atomic nuclei with no electrons, alpha particles, electrons and friends. One of these - a hydrogen nucleus, which is just a proton, traveled unchallenged a few billion light years only to finally get arrested by the L2 cache of the 8th Xeon CPU in my Dell PowerEdge 2950 in the basement.

Supratim Sanyal's Blog: Machine Check Event (MCE) Error - Intel Xeon L2 Cache Error
Machine Check Event (MCE)
I have never faced a Machine Check Event before.

I logged into my old faithful and rock-solid Dell PowerEdge 2950 blade server just now, and was informed:

ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1504666020

Okay, so I ran the recommended command, and got:

# abrt-cli list --since 1504666020
id ea6720f12a431197ca717b7bcd90f43f7a92d366
reason:         mce: [Hardware Error]: Machine check events logged
time:           Thu 07 Sep 2017 07:28:16 PM UTC
cmdline:        BOOT_IMAGE=/vmlinuz-3.10.0-514.26.2.el7.x86_64 root=/dev/mapper/centos_dellpoweredge2950-root ro rd.lvm.lv=centos_dellpoweredge2950/root rd.lvm.lv=centos_dellpoweredge2950/swap rhgb quiet LANG=en_US.UTF-8
package:        kernel
uid:            0 (root)
count:          1
Directory:      /var/spool/abrt/oops-2017-09-07-19:28:16-12996-0
Reported:       cannot be reported


The Autoreporting feature is disabled. Please consider enabling it by issuing
'abrt-auto-reporting enabled' as a user with root privileges

At this point, I googled "Machine Check Event" and learned that one of the reasons a MCE could happen is cosmic rays! Unless, of course, the processor or hardware or bus or some such thing is really going bad; the PowerEdge 2950 is a decade old anyway.

The forums also recommended running "mcelog", which I did not have, but was readily available in the repos.

# yum install mcelog

Now I could run mcelog.

# mcelog
Hardware event. This is not a software error.
MCE 0
CPU 7 BANK 3
ADDR 43f883580
TIME 1504812495 Thu Sep  7 19:28:15 2017
MCG status:
MCi status:
Corrected error
Error enabled
MCi_ADDR register valid
Threshold based error status: green
MCA: Generic CACHE Level-2 Generic Error
STATUS 942000570001010a MCGSTATUS 0
MCGCAP 806 APICID 7 SOCKETID 1
CPUID Vendor Intel Family 6 Model 23

OK, so it clearly says this MCE is not software-related, and whatever it was, it was corrected. It is also probably trying to say the L2 cache on the 8th CPU misfired that time.

A few quick checks with htop, top, iotop, etc. do not indicate any issues. Therefore, I will blame it on cosmic rays this time and let it go. If hardware is indeed failing, I will know soon enough.

It may be worth keeping an eye on eBay for a replacement blade server.

Thursday, September 7, 2017

OpenVMS-Linux-Windows File-Sharing over DECnet using FAL on DEC Pathworks for Windows NT 4.0

Supratim Sanyal's Blog: DEC Pathworks DECnet on Windows NT 4.0 Hobbyist System at SANYALnet Labs
DEC Pathworks: Windows NT as a DECnet node


Thanks to DECnet-Linux on my Ubuntu 14 boxes, DECnet on OpenVMS on a couple of SIMH VAX servers and DECnet on RSX-11M PLUS on a SIMH PDP-11/24 server, it is eminently possible to kick the Internet Protocol (IP) completely off a local LAN and use DECnet for logging in and sharing files across these machines. Windows was the missing piece, and I decided to throw an Windows NT 4.0 server into the mix. I could have chosen Windows 2000, XP, or later - but there is a certain charm in NT4 service-pack 6a + post 6a security rollup - a charm only felt by folks dated to the 8-bit era like me.

The saga of sharing files over DECnet from Windows NT 4.0 starts after I had DEC Pathworks 32 v7.4 up and running on my NT 4.0 workstation. At this point, ENTEE4 (DECnet address 1.557) is happily talking DECnet with two other nodes around my lab, as validated using tshark sniffing on the DECnet-dedicated network from Ubuntu 14 boxes equipped with DECnet-Linux (DECnet addresses 1.553 and 1.554). Everybody is saying hello to everyone else and it is a happy little island world.

$ tshark -i eth1
Capturing on 'eth1'
1930  39.386556        1.554 -> 1.553        DEC DNA 59 msg nr. 2 single segment, bytes this segment: 10, total so far:10
1931  39.386874        1.553 -> 1.554        DEC DNA 60 NSP data ACK message(2)
1932  39.386937        1.554 -> 1.553        DEC DNA 62 msg nr. 3 single segment, bytes this segment: 13, total so far:13
1934  39.388100        1.554 -> 1.553        DEC DNA 160 msg nr. 4 single segment, bytes this segment: 111, total so far:111
1937  39.388667        1.554 -> 1.553        DEC DNA 45 NSP disconnect initiate/confirm message
1939  39.403927        1.553 -> 1.557        DEC DNA 85 NSP connect confirm/initiate message
1946  39.461562        1.553 -> 1.557        DEC DNA 66 msg nr. 1 single segment, bytes this segment: 17, total so far:17
1948  39.462705        1.557 -> 1.553        DEC DNA 64 msg nr. 1 single segment, bytes this segment: 20, total so far:20
1952  39.492906        1.557 -> 1.553        DEC DNA 1494 msg nr. 2: start of segment, bytes this segment: 1450, total so far:1450
1953  39.492919        1.557 -> 1.553        DEC DNA 1494 msg nr. 3: continuation segment , bytes this segment: 1450, total so far:2900
1954  39.492922        1.557 -> 1.553        DEC DNA 1494 msg nr. 4: continuation segment , bytes this segment: 1450, total so far:4350
1960  39.493251        1.557 -> 1.553        DEC DNA 933 msg nr. 7: end of segment, bytes this segment: 889, total so far:8139
1966  39.999976        1.554 -> DECNET-Phase-IV-end-node-Hello-packets DEC DNA 50 Routing control, Endnode Hello message
...

Before starting FAL configuration, the two sources of information that I found extremely useful, and where all the information in this post is gleaned from, are

  • Pathworks Installation Guide (still available from Compaq here)
  • Pathworks Information Shelf installed along with Pathworks application files

Now, to get Pathworks FAL operational. First, using the Windows NT User Rights Policy manager, I added the "Log on as a batch job" right to the "Users" group. This is fairly well documented in the Pathworks installation guide. The steps are:

Supratim Sanyal's Blog: DEC Pathworks DECnet FAL configuration - Add "Log on as a batch job" right to "Users" group on Microsoft Windows NT 4.0
Add "Log on as a batch job" right to "Users" group on Microsoft Windows NT 4.0

  • Start -> Programs -> Administrative Tools -> User Manager
  • From the menu bar at top of User Manager, choose Policies -> User Rights. This will pop up a "User Rights Policy" window.
  • Click on the little checkbox at the bottom saying "Show Advanced User Rights"
  • From the "Right" drop-down list in the upper area, choose "Log on as a batch job"
  • Click "Add..." in the bottom right area. This will pop up another window titled "Add users and groups".
  • Choose "Users" in the "Names" area at the top (scroll down to see "Users").
  • Click on "Add" button in the middle. This will add "<computer-name>\Users" in the white text area in the bottom half.
  • Click "OK" at the bottom.
  • You will back at the "User rights policy" window. Click OK.
  • You will be back at the "User Manager" window. From the top menu, click User -> Exit to exit out.


Second step - I created a user called DECNET with home directory C:\DECNET and added this user to the "Users" group that we manipulated previously. The DECNET user thus has the all-important "Log on as a batch job" right.

Supratim Sanyal's Blog: DECnet Windows NT 4.0 Pathworks Setup - Add a DECNET user for Windows NT 4.0 for testing with DEC Pathworks DECnet services
Add a DECNET user for Windows NT 4.0 for testing with DEC Pathworks DECnet services

  • Start -> Programs -> Administrative Tools -> User Manager
  • From the menu bar at top of User Manager, choose "New User...". This will pop up a "New User" window. Fill in the username (DECNET), provide a password that you can remember, and clear all four check-boxes.
  • Click on "Groups" at the bottom. In the "Group Memberships" window that pops up, the user should already be a member of the "Users" group; therefore no more action here. Click on OK to return to the "New User" window.
  • Click on "Profile" at the bottom to open up the "User Environment Profile" pop-up. In the "Home Directory" section in the lower panel, change "Local Path" to "C:\DECNET". Click on OK to return to the "New User" window, and OK again.
  • You will be back at the "User Manager" window. From the top menu, click User -> Exit to exit out.
Third step - grant Administrator access to the user directory. In the prior step, the User Manager created the home directory with access permissions only for the specific user. However, for the FAL object to access the contents of the directory, we need the directory permissions set to allow full Administrator access. This is performed from an Administrator account as follows:

Supratim Sanyal's Blog: DEC Pathworks Windows NT 4.0 FAL server configuration - Give Administrators Full Control on the new home directory for the DECNET user account
Give Administrators Full Control on the new home directory for the DECNET user account


  • From Start -> Windows NT Explorer, Right-Click on the DECNET folder under C: drive.
  • Choose Properties
  • Click on the Security tab
  • Click on Permissions
  • Click on "Add" at the bottom
  • In the "Add Users and Groups" window,  choose "Administrators" in the "Names" area at the top half, and click "Add" in the middle. This will add "<computer name>\Administrators" to the "Add Names" area in the bottom half.
  • In the "Type of Access" drop-down list at the bottom, choose "Full Control"
  • Click on OK, OK and OK to exit out of the three open screens.
  • That's it; now the C:\DECNET folder has full access permissions for both the owner DECNET as well as Administrator group accounts.

Fourth step - configure FAL and NML services on Windows NT 4.0 Pathworks using Network Control Program (NCP). To do this, open a MS-DOS command prompt and issue the command "NCP" to enter the NCP prompt. Then issue NCP commands to define the File Access Listener (FAL) and the Network Management Listener (NML) objects. Keep in mind the object numbers 17 and 19 cannot be changed; they are specifically allocated to FAL and NML objects.

Supratim Sanyal's Blog: DEC Pathworks Windows NT - Configure FAL and NML server objects from NCP - DECnet
DEC Pathworks Windows NT - Configure FAL and NML server objects from NCP


C:\>NCP

Network Control Program (NCP)   V7.2.019
Copyright 1985, 2000 by Compaq Computer Corporation
NCP>DEFINE OBJECT FAL NUMBER 17 FILE C:\PW32\FAL32.EXE
NCP>DEFINE OBJECT NML NUMBER 19 FILE C:\PW32\NML32.EXE
NCP>LIST KNOWN OBJECTS

 Network Objects  Thu Sep 07 15:52:48 2017


Taskname          #    File               "Arguments"

FAL               17   C:\PW32\FAL32.EXE
NML               19   C:\PW32\NML32.EXE
NCP>EXIT


Log out of the Windows Administrator account, and log in as DECNET. Create a file called INFO.TXT in C:\DECNET to play (i.e. test) with.

All done, now we can talk to Windows NT 4.0 running Pathworks from other DECnet hosts. It all works from DECnet on OpenVMS and PDP-11/24 hosts in my hobbyist lab, and also playing around with my Ubuntu boxes running DECnet-Linux, I can use DECnet-Linux commands to access Windows NT files:

$ dndir 'entee4"DECNET password"::'

Directory of C:[DECNET]

INFO.txt

$ dntype -mblock 'entee4"decnet password"::info.txt'
 _______   ________   _________  _______   _______   ___   ___
|\  ___ \ |\   ___  \|\___   ___\\  ___ \ |\  ___ \ |\  \ |\  \
\ \   __/|\ \  \\ \  \|___ \  \_\ \   __/|\ \   __/|\ \  \\_\  \
 \ \  \_|/_\ \  \\ \  \   \ \  \ \ \  \_|/_\ \  \_|/_\ \______  \
  \ \  \_|\ \ \  \\ \  \   \ \  \ \ \  \_|\ \ \  \_|\ \|_____|\  \
   \ \_______\ \__\\ \__\   \ \__\ \ \_______\ \_______\     \ \__\
    \|_______|\|__| \|__|    \|__|  \|_______|\|_______|      \|__|

                   A SANYALnet LABS HOBBYIST SERVER

+++
| Welcome to entee4.sanyalnet.lan.
|
| This is a Microsoft Windows NT 4.0 Workstation with
| Digital DEC (Compaq) Pathworks. It speaks IP and DECnet.
+++


That concludes my experiment with a DECNET account shared using FAL server object over DECnet on a Windows NT 4.0 server running DEC Pathworks 32. Please share your experiments and results in the comments below!


Recommended Products from Amazon