On Jun 7, 2012, at 7:10 PM, Dave McGuire wrote:
On 06/07/2012 08:23 AM, Johnny Billquist wrote:
Howabout starting it as a daemon (running as root) via the boot
scripts, and have non-root users's programs access it via a
socket?
Cool idea - you could even have multiple hosts connect this way but
export one DECNET endpoint, i.e. run CTERM on Box A whilst FAL goes
to Box B, and MAIL to Box C :)
Yes, you could multiplex/demultiplex it any way you wanted. It would
open up all sorts of interesting configuration possibilities.
I think it would help if you actually explained a little more what you
actually want to accomplish, and what you see as the problems...?
We're just batting some ideas around. One problem is that the current
DECnet stack for Linux has fallen into dismaintenance, and if that can't
be changed, it will eventually stop working on current-ish kernels. The
idea is to write a userland (meaning outside the kernel, not running
under a non-root UID) implementation of DECnet and have non-root users'
apps (dncopy, etc) talk to it via a local socket.
That made me think of something... it could be split. If root privs are needed to get Ethernet to do the DECnet MAC address thing (promiscuous or otherwise), one could have a daemon that runs as root that implements the Ethernet datalink layer. Have it communicate with a non-root daemon that does the rest of the protocol stack; that in turn communicates with the applications.
Worth it? Perhaps not. If people aren't worried about having the whole stack in a program with root privs, then this isn't necessary.
BTW, another thing that such an implementation should do is implement DDCMP. I looked at it once as a module that ties into the terminal driver ("line discipline", was that what it's called???). But in the user mode way of looking at it, a DDCMP layer implementation would simply be a bit of plain old application code that talks to a terminal port configured in raw mode.
paul
On Thu, Jun 7, 2012 at 7:55 PM, Dave McGuire <mcguire at neurotica.com> wrote:
On 06/07/2012 07:42 PM, Bob Armstrong wrote:
Lunchboxes! :-) And there are images for new boot ROMs available for
those
which will allow you to boot from the on-board SCSI host adapter, ...
I've heard of this, but I haven't seen it. As I recall, the onboard SCSI
adapter uses programmed I/O (no DMA!) so it's really slow. For a TK50
nobody would ever notice, but for the system disk it's a problem. Better to
cluster boot one, diskless.
That'd likely be faster! I'm thinking of the case where one would
want a standalone machine, and the XT2190/RD54 is as capacious as MFM gets.
Having never run a '2000 via its SCSI host adapter myself, only the
MFM interface, I'd have to wonder whether the bottleneck would be that
PIO-accessed NCR5380 or the 78032 itself!
FWIW, an RD54 isn't necessary. The 2000 can easily be convinced to use
_any_ MFM drive, DEC or not. You can get VMS V4 on a 30 meg drive, maybe
even 20, if you're determined. Long ago I wrote up a little description of
all the VS 2000 disk formatter parameters, what they meant, and how to fake
them for non-DEC drives. Google ancient Usenet postings if you're
interested.
I've had a copy of that archived away for many, many years. :-)
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Hello!
I don't know why, but here goes, a while ago there were advertisements
for a thing DEC called the "rtVAX", it was the processor element in a
case about the size of a paperback and mounted on a VME board.
They advertised it as an embedded processor for specialty
applications. The user would, what else? build their code on a host
such as what we are talking about and including the implied
difficulties of debugging it of course, and then deploy it onto the
unit's storage media. And then off it went wearing the code written
and the rest of it on something else.
Why I want one (or two or three or four) is any number of reasons, but
it would be an interesting job getting one of the things working on
our network.
-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."
On 06/07/2012 07:42 PM, Bob Armstrong wrote:
Lunchboxes! :-) And there are images for new boot ROMs available for
those
which will allow you to boot from the on-board SCSI host adapter, ...
I've heard of this, but I haven't seen it. As I recall, the onboard SCSI
adapter uses programmed I/O (no DMA!) so it's really slow. For a TK50
nobody would ever notice, but for the system disk it's a problem. Better to
cluster boot one, diskless.
That'd likely be faster! I'm thinking of the case where one would
want a standalone machine, and the XT2190/RD54 is as capacious as MFM gets.
Having never run a '2000 via its SCSI host adapter myself, only the
MFM interface, I'd have to wonder whether the bottleneck would be that
PIO-accessed NCR5380 or the 78032 itself!
FWIW, an RD54 isn't necessary. The 2000 can easily be convinced to use
_any_ MFM drive, DEC or not. You can get VMS V4 on a 30 meg drive, maybe
even 20, if you're determined. Long ago I wrote up a little description of
all the VS 2000 disk formatter parameters, what they meant, and how to fake
them for non-DEC drives. Google ancient Usenet postings if you're
interested.
I've had a copy of that archived away for many, many years. :-)
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Lunchboxes! :-) And there are images for new boot ROMs available for
those
which will allow you to boot from the on-board SCSI host adapter, ...
I've heard of this, but I haven't seen it. As I recall, the onboard SCSI
adapter uses programmed I/O (no DMA!) so it's really slow. For a TK50
nobody would ever notice, but for the system disk it's a problem. Better to
cluster boot one, diskless.
FWIW, an RD54 isn't necessary. The 2000 can easily be convinced to use
_any_ MFM drive, DEC or not. You can get VMS V4 on a 30 meg drive, maybe
even 20, if you're determined. Long ago I wrote up a little description of
all the VS 2000 disk formatter parameters, what they meant, and how to fake
them for non-DEC drives. Google ancient Usenet postings if you're
interested.
Bob
Ah.. newer version available.
Actually.. I think I'm about 50+ emails behind -CURRENT on the list ..
I'll go read through them first and catch up.
Al.
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On
Behalf Of Johnny Billquist
Sent: Thursday, 7 June 2012 6:11 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] New bridge.c feedback
On 2012-06-07 09:42, Johnny Billquist wrote:
Hi, Alastair. Thanks for the feedback. Interesting... Care to help
me
figure some things out...?
On 2012-06-07 08:33, Boyanich, Alastair wrote:
cc-1171 cc: WARNING File = bridge.c, Line = 684
The indicated expression has no effect.
if (port == 0) port == DPORT;
^
Blech! Well, DPORT is by default set to 0. See the documentation of
the
define in the sources... This one will stay.
Oh well. I made a conditional around this, so that if people don't
change DPORT, it will not even be compiled. Warning gone...
Cleaned up the code some, based on inspiration fallout here. New
version
available. No functional changes...
Johnny
Hi Johnny,
Yes. It seems to want <strings.h> 6.5.24 and above (or 6.5.29f in my
case) was aiming at SUSv3 compliance away from base XPG4 so things were
moved to strings.h
(http://pubs.opengroup.org/onlinepubs/009695399/functions/index.html) ..
it's also in the 3c index man page, you were right.
So, compiles on IRIX 6.5.29 if the header is included. Worth gating it
in via #ifdef ? I'm also a fan of enum types. Binary emitted is ~298kb.
Also, your welcome to an account on the system if you wish to poke/play
around, it's accessible over ssh and the general internet (it's my daily
shell/hacking on code box).
-Wall makes the MIPSpro runtime *extremely* chatty. It's quite anal. See
below.
Al.
cc-3201 cc: REMARK File = bridge.c, Line = 158
The parameter "data" was never referenced.
int lookup(struct sockaddr_in *sa, char *data)
^
cc-1506 cc: REMARK File = bridge.c, Line = 460
There is an implicit conversion from "unsigned long" to "long";
rounding, sign
extension, or loss of accuracy may result.
delta = timedelta(bridge[index].lasttime);
^
cc-3201 cc: REMARK File = bridge.c, Line = 559
The parameter "r" was never referenced.
void dump_nomatch(struct sockaddr_in *r, struct DATA *d)
^
cc-3201 cc: REMARK File = bridge.c, Line = 559
The parameter "d" was never referenced.
void dump_nomatch(struct sockaddr_in *r, struct DATA *d)
^
cc-1185 cc: WARNING File = bridge.c, Line = 579
An enumerated type is mixed with another type.
d->type = classify_packet(d);
^
cc-1171 cc: WARNING File = bridge.c, Line = 685
The indicated expression has no effect.
if (port == 0) port == DPORT;
^
cc-1498 cc: REMARK File = bridge.c, Line = 709
There is no prototype for the call to read_conf.
read_conf();
^
cc-1209 cc: REMARK File = bridge.c, Line = 715
The controlling expression is constant.
while(1) {
^
jazz:~/src/HECnet[436]%
On 06/07/2012 09:13 AM, hvlems at zonnet.nl wrote:
A vaxstation 2000 and a microvax 2000 run V4.7 too. With VWS instead of Motif at a reasonable speed.
Lunchboxes! :-) And there are images for new boot ROMs available for
those which will allow you to boot from the on-board SCSI host adapter,
which is relatively slow (NCR5380-based) but still less painful than
trying to find, and then afford to purchase, an RD54.
I think someone even wrote a driver for VMS to use disks on that
controller. I have several of those machines; I really should look into
that. Does anyone have any further information on, or actual copies of,
those boot ROMs and/or the VMS device driver?
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
On 06/07/2012 08:35 AM, Jordi Guillaumes i Pons wrote:
According to this:
http://h71000.www7.hp.com/openvms/os/openvms-release-history.html
Support for the 4000/90 came in version 5.5-2 (1992). The 3300 was
supported in 5.0-2 and the 4000 mod. 2000 in 5.4-2. So none of my real
boxen can run 4.7.
Well you've gotta find yourself some more machines! 11/750s are
probably the most common of the 4.x-capable machines, though there don't
seem to be many left floating around.
Heh, then I would have to find also a new home and probably an attorney to handle de divorce demand ;)
I'll keep my mouth shut.. ;)
--
Dave McGuire, AK4HZ
New Kensington, PA
On 06/07/2012 08:16 AM, Johnny Billquist wrote:
Any program that needs access to raw ethernet packets needs to run as
root. Promiscuous mode or not. Promiscuous mode itself has little to do
with this.
So if you want to run anything like a bridge or a router, you will need
to run it as root. Promiscuous mode is basically just allowing you to
share the same interface as the system is otherwise using, instead of
having to dedicate a separate ethernet interface for this.
Maybe you're just putting this another way, but promiscuous mode is
correctly defined a bit differently than this. When an Ethernet
controller is placed into promiscuous mode, its on-chip MAC address
filters, which normally either select or ignore inbound packets based on
their MAC address, are disabled. ALL packets are received by the
hardware and passed to the Ethernet driver in the OS, rather than only
the ones destined for that specific interface as defined by its MAC address.
I'm reasonably certain that you know this but were just explaining it
in a more abstract way...?
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
On 06/07/2012 08:23 AM, Johnny Billquist wrote:
Howabout starting it as a daemon (running as root) via the boot
scripts, and have non-root users's programs access it via a
socket?
Cool idea - you could even have multiple hosts connect this way but
export one DECNET endpoint, i.e. run CTERM on Box A whilst FAL goes
to Box B, and MAIL to Box C :)
Yes, you could multiplex/demultiplex it any way you wanted. It would
open up all sorts of interesting configuration possibilities.
I think it would help if you actually explained a little more what you
actually want to accomplish, and what you see as the problems...?
We're just batting some ideas around. One problem is that the current
DECnet stack for Linux has fallen into dismaintenance, and if that can't
be changed, it will eventually stop working on current-ish kernels. The
idea is to write a userland (meaning outside the kernel, not running
under a non-root UID) implementation of DECnet and have non-root users'
apps (dncopy, etc) talk to it via a local socket.
Of course it'd be preferable in a dozen ways to have the native
kernel-based DECnet support continue to be maintained, alongside IPv4,
IPv6, etc where it belongs...but if we can't find anyone to do that
work, we'll have to solve the problem some other way, when it actually
becomes a problem.
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA