[HECnet] Effects of Rogue Duplicate HECnet Node?
Thomas DeBellis
tommytimesharing at gmail.com
Sat Mar 7 10:48:16 PST 2020
That's interesting that there is no user visible interface to map
between nodes and area.numbers in RSX, just like Tops-20. I wonder
why? As a contrast, we all know that IP4 and IP6 addresses can be
specified both numerically and 'symbolically' via the DNS. However, the
functionality existed in the HOSTS file and predates IP.
Tops-20 does not precisely have a permanent node database. Everything is
configured and loaded either from text files or 'compiled' text files on
boot up. So initial configuring for DECnet and setting the local node
name and type is done in CONFIG.CMD which is parsed by SETSPD before
Galaxy is initiated. While that is happening, the 'compiled' (I.E.,
binary) node database is inserted into the hash table. SETNOD does not
have full functionality to add and remove nodes from this table,
although it can tell the monitor to remove a node.
After the insert is done, enough functionality is available for
SYSTEM.CMD to be parsed by OPR and issue the remaining NCP commands to
the local NICE processor (NMTL20). Strangely enough, CLEAR NODE xx::
ALL didn't have any effect. It probably should have. PURGE didn't work
at all. So, you have to do the (undocumented) SETNOD feature to remove
a node.
!opr
OPR>ent ncp
NCP>push
PANDA TOPS-20 Command processor 7.1(4454)-5
End of TOMMYT:<SLOGIN>COMAND.CMD.12
@i dec
Local DECNET node: VENTI2. Nodes reachable: 6.
Accessible DECNET nodes are: A2RTR APOLLO LEGATO TOMMYT
VENTI2 ZITI
@pop
NCP>tel ziti:: shoW eXECUTOR
NCP>
13:31:21 NCP
Request # 11 Accepted
NCP>
13:31:21 NCP
Request # 11; Show Executor Node Summary Completed
Executor Node = 2.16 (ZITI)
Circuit = eth1
State = On
Identification = DECnet for Linux V4.4.0-148-generic on x86_64
NCP>clEAR noDE ziti:: alL
NCP>
13:31:42 NCP
Request # 12; Clear Node Completed
NCP>telL ziti:: shoW exECUTOR
NCP>
13:31:58 NCP
Request # 13 Accepted
NCP>
13:31:59 NCP
Request # 13; Show Executor Node Summary Completed
Executor Node = 2.16 (ZITI)
Circuit = eth1
State = On
Identification = DECnet for Linux V4.4.0-148-generic on x86_64
NCP>push
@i dec
Local DECNET node: VENTI2. Nodes reachable: 6.
Accessible DECNET nodes are: A2RTR APOLLO LEGATO TOMMYT
VENTI2 ZITI
@pop
NCP>purGE noDE ziti:: alL
NCP>
13:45:47 NCP
Request # 14; Purge Node Failed, Operation failure
NCP>
------------------------------------------------------------------------
On 3/7/20 12:41 PM, Johnny Billquist wrote:
> On 2020-03-04 00:57, Thomas DeBellis wrote:
>> However, as I've said before (viz., the NFT: device and FTS), there
>> are parts of Tops-20 DECnet that strike me as not fully productized.
>> One example is that there is no way for /anybody/ to extract the area
>> and number of a node once it is the monitor. You can (and should)
>> verify that the node is 'legitimate' by using .NDVFY function of the
>> NODE% JSYS, which will also tell you some interesting things about
>> it. However, it will not divulge the aforementioned numbers. It
>> annoyed me enough so that I modified the monitor to do just that with
>> an additional function, .NDVFX and I use this in DAP (but don't
>> depend on it) and in the mailer (where I do).
>>
>> I haven't posted the changes anywhere because I can't make up my mind
>> whether this was fixing an oversight or breaking a design decision or
>> indeed, whether that should even matter.
>
> In RSX there is no documented way to map between node names and
> addresses, in either direction.
> There is an interface for it, but it's not documented. Internally,
> DECnet have a separate device and ACP which handles the nodename
> database. If you just have the specifications for this device, you can
> do lookups yourself, but DEC never intended that anyone should use it,
> except DECnet internally does.
>
>> Another example is that, once a node is inserted into the monitor
>> data base, there is *no* documented way to remove it. As I was
>> implementing .NDVFX, I was looking at the in-area hashing code and
>> noticed that it appears that the monitor will remove a node marked as
>> -1 (36 bits). I have yet to test this. Certainly SETNOD gives no
>> hint (another reason I'm toying with a rewrite).
>>
>> Curiouser and curiouser. Do the above two functionalities exist in
>> other operating systems?
>
> The ability to remove nodes from the nodename database works fine in
> pretty much all OSes I know of, except for the PDP-10 world.
> In VMS and RSX, it's NCP CLEAR NODE node ALL, for example, for the
> current running system. In VMS you use PURGE in NCP for the permanent
> database, while in RSX, you use PURGE, but in CFE, which is the
> configuration file editor, for the permanent database.
>
> I think RSTS/E does it all through NCP, like in VMS, but I guess Paul
> can tell for sure.
>
> Johnny
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sonic.net/pipermail/hecnet-list/attachments/20200307/a4592f7f/attachment.html>
More information about the Hecnet-list
mailing list