[Info-vax] TUN/TAP Like driver any pointers ?

Simon Clubley clubley at remove_me.eisner.decus.org-Earth.UFP
Tue Sep 10 08:47:31 EDT 2019


On 2019-09-09, Michael Moroney <moroney at world.std.spaamtrap.com> wrote:
> Linux drivers are quite different from VMS, often they run in user mode.
>

The Linux driver model is indeed extremely flexible. I wish the VMS driver
model was as flexible.

You can unload drivers and reload them without having to reboot.

For some classes of drivers, you can implement them either in kernel mode
for performance purposes, or you can implement some of them in user mode
when you want ease of development and when performance is not that critical.

You can add in your own filesystems as you wish.

You can implement all kinds of specialist network related protocols via
the TUN/TAP drivers.

> VMS drivers can be quite complex.
>

Is this "required" or "artifical" complexity ?

It's been over a decade since I wrote a VMS device driver for a PCI device
on Alpha as a hobbyist project so I don't remember the details, but the
impression I have been left with is that it was harder to do the same
thing in a device driver on VMS when compared to Linux.

It may also be that I simply wasn't used to the VMS device driver structure,
and I seem to recall not having all the information I needed, so I don't
know how accurate the perception I have been left with actually is.

For one simple example, do VMS drivers have access to a VMS version of
printk() (not printf()!) so that you can easily issue debug messages in
kernel mode ? It's been long enough that I can't remember if printk()
style functionality exists for kernel mode code on VMS.

I seem to remember been able to do something similar but that it wasn't
as simple as calling a VMS version of printk().

> I'd suspect the "easiest" way to implement something like this is to
> implement most of the code as an ACP so it has process context where needed,
> and a base pseudo-device driver which calls into it.  Writing ACP code is also
> poorly documented and I think was generally discouraged.

Try "not documented" :-), at least as far as someone like myself is
concerned. ACPs are an interesting possibility, but which are a non-viable
option due to the lack of documentation and examples.

Simon.

-- 
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world



More information about the Info-vax mailing list