[comp.os.vms] DEUNA/Ethernet/DECNET monitoring program

mcohen@NRTC.NORTHROP.COM.UUCP (04/18/87)

Well, I transferred the DEUNA/ethernet monitoring program to our
VAX 785 (running VMS 4.1) and tried to compile it. The variable
"RetStatus" was undeclared in AST, so I added it as shown
in the second line following:

Procedure AST (var Character : char);
  var Status (* add this --> *) , RetStatus : integer;

This compiled ok, and it ran ok!!!

However, when a second user tried to run the program, it bombed
in this line (line 277 of the program) with the message 
"Bad Parameter Value" in the call to $STOP:

    if not odd (IOStatus[1]) then $STOP (IOStatus[1]);

Other than these problems, it works fine.

Marty Cohen (mcohen@nrtc.northrop.com)
(213) 544-5373

LEICHTER-JERRY@YALE.ARPA (04/20/87)

    Well, I transferred the DEUNA/ethernet monitoring program to our
    VAX 785 (running VMS 4.1) and tried to compile it. The variable
    "RetStatus" was undeclared in AST, so I added it as shown
    in the second line following:

    Procedure AST (var Character : char);
      var Status (* add this --> *) , RetStatus : integer;

Interesting; I don't remember this problem.  Then again, I compiled up the
program, and tossed away any edited source, quite some time ago (since I
could always snarf it out of the original paper, as I did to generate this
message.)

    This compiled ok, and it ran ok!!!

    However, when a second user tried to run the program, it bombed
    in this line (line 277 of the program) with the message 
    "Bad Parameter Value" in the call to $STOP:

        if not odd (IOStatus[1]) then $STOP (IOStatus[1]);

The program opens a unit for protocol 60-02 (marked as "unused" in the code;
actually, it's the MOP counter request protocol) with exclusive access.  Only
one user at a time can succeed in doing this; so only one user at a time can
run the program.  If you try it, you'll find that MONITOR ETHERNET has the
same restriction - perhaps one reason that it's not supported.  It MIGHT be
possible to work around this by opening the unit for shared, limited access
and specifying a unique "remote address" each time.  (One way to construct
such an address would be to tack the process ID onto a fixed address header.)
I haven't tried this....

A quick check reveals that MONI ETHER and the DEUNA program don't interfere
with each other.

If you look through the code, you'll find that there is more undocumented
monitoring stuff in there - for example, protocol 60-02 actually allows you
to read the counters on a remote node.
							-- Jerry
-------