Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Sep 1997 00:27:56 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        jamil@counterintelligence.ml.org (Jamil J. Weatherbee)
Cc:        joerg_wunsch@uriah.heep.sax.de, hackers@FreeBSD.ORG, jamil@acromail.ml.org
Subject:   Re: Speaking of device drivers.
Message-ID:  <199709080027.RAA13331@usr08.primenet.com>
In-Reply-To: <Pine.BSF.3.96.970907161318.676A-100000@counterintelligence.ml.org> from "Jamil J. Weatherbee" at Sep 7, 97 04:30:19 pm

next in thread | previous in thread | raw e-mail | index | archive | help
[ ...exported device files... ]

> Anyway my
> original idea was to be able to have Inter Kernel Communication links
> between kernels on a network of machines such as this to interconnect all
> of their devices so that the remote machines would have like
> /dev/slave/cuaa0 etc that could be locked and ioctled read, write, mmaped
> (from what I gather that would be the hard part) as if all machines were
> one --- a

A unified namespace may be beyond the scope of an implementation -- I
would personally use symlinks for it.

As for exporting devices, devices work by having a major and minor
and the driver being looked up on the local kernels devsw/cdevsw
array according to the major number and device type, and then
the minor is applied to get a particular instance of a device using
that driver.

So by default, devices don't go remote.

Now devfs, being vnode based rather than major/minor based *could*
be made to go remote.  This is because you would be exporting
normal vnodes, not device nodes, for the remote lookup, and an
nfsnode remote vnode alias should be able to reference the devfs fine.

Intel OpenNet did this as well, but it only worked between homogenous
machines, where all the parameters were the same.

One issue I'd think might bite you is the proxying of ioctl()/fcntl()
calls over NFS.  You may have to hack NFS to make this work properly,
since by default an ioctl() on an open FS object's fd returns (at
the wrong layer, IMO) ENOTTY.  I suppose I could help if you were
going to implement this.

You may also want to look at mnfs, which does a lot of this already
(goto Yahoo and search for "David Sarnoff").


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709080027.RAA13331>