After being much inspired by seeing work being done in the direction that
interests me most, I am compelled to post. After thought, I have
devised a solution for the remote naming procedure that looks like
it'll solve a lot more too!
Many suggestions for remote naming have been suggested, most of which
involve adding a second syntax to bind or making many ip-specific
assumptions that are IM (highly religious) HO "wrong", in the same
way that the way unix comes up with ethernet names like "le0" is wrong:
It should be in the filesystem like anythign else!
I don't really like any syntax that makes hard-and-fast assumptions
about protocols or server names. An system should provide a
resource naming syntax that is consistent, comprehensive, and
minimalist. The ability to serve up combinations not involving
say NFS-over-IPandDNS-over-ETHER hardwired in is a great win.
Ideally, a mount is a transparent translation between a source and
a destination. we'll call this new mount "bind"... it's like
plan9 in syntax, but modular like hurd translators
mount etherd:/dev/dectulip/0 /net/ipstack/my-ethernet-addr
..... (put all the network devices in /net/ipstack)
mount ipd:/net/ipstack /net/ip
(create an IP stack)
mount nfsd:/net/ip/udp/nfs/mynfs-server-ip /here/is/mystuff
One simple (compared to kernel), userland daemon gives us:
mount smbd:/net/ip/tcp/smb/mysamba-server-ip /here/is/morestuff
Plus, we gain:
mount pppd:/dev/rs232/0 /net/ipstack/my-ppp-addr
Or even: (instant IP tunnelling)
mount pppd:/net/ip/tcp/ip-tun-port/ip-tun-host /net/ipstack/foo-addr
mount pppd:/net/ip/tcp-ssl/ip-t-p/ip-t-h /net/ipstack/cryptotunnel
And even: (whee! snag someone else's IP stack for no memory use!)
mount etherd:/dev/ether0 /net/simplestack/0
mount simpled:/net/simplestack /net/simple
mount simplemount:/net/simple/simplemount/hostname /net/ip
which i think is... really neato!
Flaws:
Requires knowing of IP addr before making connection, which is bad
for PPP. Can be solved trivially
Requires a mount for every address using this syntax, otherwise
more within-daemon code would be needed to do things like
mount httpreadd:/net/ip/tcp-http/ /net/web would work.
Can be solved not-so-trivially
comments?
ksh
Received on Mon Nov 30 21:48:47 1998
This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:56 PDT