[comp.protocols.nfs] How to get an urgent message to an arbitrary system

geoff@hinode.East.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) (08/09/89)

One of the questions I am often asked about PC-NFS is "how come
there's no way for me to find out when a particular file server
is going down? Unix users get notified." I point out that (at least
on SunOS) the mechanism used is "rwall", which is an RPC service, and that
for size reasons we can't afford to embed a version of rpc.rwalld in 
PC-NFS. This explanation is reasonable, but unsatisfactory. 

My reaction was to say "let's ask the NIC for a UDP port so that
we can use it to send unsolicited messages to PCs running PC-NFS."
That would certainly do the trick. However, a moment's thought
reveals that the problem is bigger than just PC-NFS. Surprisingly,
there is at present no simple ubiquitous message protocol to fulfil this
function. rwall is fine for SunOS and other ONC licensees, but
what about other systems? Do I have to rely upon SMTP? That's
incompatible with the idea of broadcasting a simple message
such as "The backbone will be down for five minutes at 12:00
to replace a bridge." 

This could be trivially simple or slightly more involved
(but still simple). The trivial approach is to dedicate
a UDP port for unsolicited system messages. Anyone could send one,
in a single datagram, and the listener process would be responsible
for delivering it as seemed appropriate for the system (dialog
box, console message, etc.) A more complete approach would be to
define a formal protocol so that it would be possible to convey
information about the coding of the message, message length (so that
TCP could be used instead) and so forth. [If the spec exceeds
one page, it's too complicated.]

Comments?

Geoff

Geoff Arnold,                              Internet: geoff@East.Sun.COM
PCDS Group, Sun Microsystems Inc.
---------------------------------------------------------------------------
Just think: If Unix had been developed in England, we'd all be using BCPL...

beame@maccs.dcss.mcmaster.ca (Carl Beame) (08/11/89)

In article <681@east.East.Sun.COM> geoff@hinode.East.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) writes:
>One of the questions I am often asked about PC-NFS is "how come
>there's no way for me to find out when a particular file server
>is going down? Unix users get notified." I point out that (at least
>on SunOS) the mechanism used is "rwall", which is an RPC service, and that
>for size reasons we can't afford to embed a version of rpc.rwalld in 
>PC-NFS. This explanation is reasonable, but unsatisfactory. 
>
>
>Comments?
>

Since we implemented a rwalld in our BWNFS (PC based NFS client), I checked
to see how much memory it takes. Not counting the initialization code, (which
is not resident in memory), it takes 192 (decimal) bytes. 
But I guess if you write in C it takes a lot more :-)

- Carl Beame
  Beame@McMaster.CA

P.S: Geoff, does the new PC-NFS come with a fixed version of rpc.lockd for
     Sun OS4.0.1  ?

geoff@hinode.East.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) (08/11/89)

In article <1989Aug10.170537.1823@maccs.dcss.mcmaster.ca> beame@maccs.dcss.mcmaster.ca (Carl Beame) writes:
>Since we implemented a rwalld in our BWNFS (PC based NFS client), I checked
>to see how much memory it takes. Not counting the initialization code, (which
>is not resident in memory), it takes 192 (decimal) bytes. 

I presume you're not including the portmapper in this total? We don't
run a portmapper in PC-NFS, since we don't normally run any RPC based servers
on the PC. (After all, we don't want to undercut our workstation
business :^) "rwall" uses a pmap_rmtcall to contact rpc.rwalld, but
to be correct you have to handle both direct and indirect calls, don't
you?

Also, are you doing the any duplicate filtering?

>But I guess if you write in C it takes a lot more :-)

I'm sure you know that none of the resident PC-NFS code is written in C...


Geoff Arnold,                              Internet: geoff@East.Sun.COM
PCDS Group, Sun Microsystems Inc.
---------------------------------------------------------------------------
Just think: If Unix had been developed in England, we'd all be using BCPL...

beame@maccs.dcss.mcmaster.ca (Carl Beame) (08/13/89)

In article <693@east.East.Sun.COM> geoff@hinode.East.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) writes:
>
>I presume you're not including the portmapper in this total? We don't
>run a portmapper in PC-NFS, since we don't normally run any RPC based servers
>on the PC. (After all, we don't want to undercut our workstation
>business :^) "rwall" uses a pmap_rmtcall to contact rpc.rwalld, but
>to be correct you have to handle both direct and indirect calls, don't
>you?

 We didn't implement the portmapper in total, we have a port 111 interrupt
routine which checks for pmap_rmtcall to rwalld. The 179 bytes refers to
all code (including portmapper check routine) which is resident and executed
above the UDP level.

>
>Also, are you doing the any duplicate filtering?
>
 No.
>
>I'm sure you know that none of the resident PC-NFS code is written in C...
>
  No I didn't know that.

-  Carl Beame
   Beame@McMaster.CA