On Apr 11, 2023, at 11:14 AM, Johnny Billquist
<bqt(a)softjar.se> wrote:
On 2023-04-11 16:42, Paul Koning wrote:
On Apr
11, 2023, at 10:31 AM, Johnny Billquist <bqt(a)softjar.se> wrote:
...
They are in the form dev-#, dev-#-# or dev-#-#.#. All which signify things, and parts can
be wildcarded.
Indeed, for any given implementation there are patterns and they are
followed semi-consistently across implementations. But the architecture spec has no rules
other than that circuit and line names are "id-string". The only place I see
the dev-# type format mentioned isn't for the names but rather for the value of line
attribute "device".
Well, controllers like ethernet usually are in the form dev-#. They don't have
multiple lines in the way a serial controller do.
Also, even when an implementation follows the RSX
pattern, the actual names used may vary. For example, async DDCMP on RSTS uses circuit
names of the form TT-# no matter what controller type is involved.
Oh. I was definitely not trying to imply that there are any specific names used on the
dev part. That is clearly a string that might be whatever. It might possibly have some
length limit, and I don't think anything but letters are allowed. But that's about
it.
The network management architecture spec says:
" ...id-string
consists of one to sixteen characters from the set of upper-case
alphabetics, numerics, period and hyphen. An id-string must contain
at least one alphabetic character."
Most names, including circuit, line, and module names are "id-string".
It gets worse
when you consider Phase II, where circuit names contain underscores rather than hyphens.
So for an application that reads circuit and node info from other implementations, the
rule I would suggest is to assume nothing about the structure of circuit names.
Underscores might be an interesting thing to investigate. But I'm not going down that
rabbit hole right now.
Phase II NICE has two different encodings for line names: ASCII string which seems to be
pretty much unconstrained, and a compact coded form consisting of a device code,
controller number, and optional line number. TOPS-20 only implements the latter, it
seems. And the text representation shown for that second form is dev_# for line 0,
dev_#_# for non-zero line numbers. There is a short list of defined device codes, so if a
node wants to tell TOPS-20 that it has a line named ETH-0, it can't do that.
paul