Normally the Jnet Local Mail Delivery agent is a process running a specially doctored version of VMS MAIL. In order to have PMDF deliver local mail, this process must run BN_SLAVE instead.
BN_SLAVE is established as the Local Mail Delivery agent by copying a
new version of the file lmd.com
to JAN_SYS. For Jnet
versions 3.7, 3.6, and 3.5 use the command
$ COPY PMDF_COM:lmd.com JAN_SYS:lmd.comFor Jnet version 3.4, instead use the command
$ COPY PMDF_COM:lmd.v34 JAN_SYS:lmd.comor, for Jnet version 3.3 or 3.2, use the command
$ COPY PMDF_COM:lmd.v33 JAN_SYS:lmd.com
If you are running Jnet on more than one node in a cluster, then be
sure that the PMDF lmd.com
(or lmd.v34
or
lmd.v33
) file is seen by each Jnet node in the cluster
(i.e., ends up in the cluster common JAN_SYS:
directory) or is placed in the specific JAN_SYS:
directories of each individual Jnet node which is to run PMDF's local
mail delivery daemon.
lmd.com
may require alteration for use with other versions
of Jnet. Be sure to compare PMDF's lmd.com
with the one
provided with Jnet and check for any discrepancies. The only real
difference between the two should be that PMDF's lmd.com
defines the logical names PMDF_CHANNEL and SYS$OUTPUT and then runs
BN_SLAVE instead of defining the logical names SYS$SCRATCH and
JAN_MAILPROT and then running VMS MAIL. The code in
lmd.com
to start up the FANOUT and PROFS daemons is not
directly related to PMDF. The function of these daemons is described
fully in the Jnet documentation.
lmd.com
will also have to be edited if a name other than
"bit_local" is used for the local Jnet channel. Change only
the line that defines the PMDF_CHANNEL logical name.
Once this is done Jnet's local servers should be shut down and restarted to activate the new agent. The following commands will usually suffice, but see the Jnet System Manager's Guide for complete information on restarting Jnet.
$ RUN JAN_SYS:JCP JCP> STOP local-host JCP> START local-hostwhere
local-host
is Jnet's name for the system
running Jnet and PMDF.
If the BN_SLAVE daemon should fail for any reason, the conventional
Jnet Local Mail Delivery agent will be started instead. A mail message
will also be sent to the SYSTEM account indicating that this has
happened. The file PMDF_LOG:bn_slave.log
should be
examined to determine the cause of the problem if BN_SLAVE does fail.
For efficiency reasons the BN_SLAVE program only reads the PMDF configuration file once at startup. If the configuration file is edited or recompiled the BN_SLAVE program needs to be restarted. A restart can be requested with the OpenVMS command:
$ PMDF RESTART BN_SLAVESYSLCK privilege is required to issue this command which will restart all BN_SLAVE processes across your cluster. Restarting Jnet entirely is not necessary; this command alone is sufficient if only PMDF configuration information has changed. Note, however, that this command does not reload Jnet routing tables; consult the Jnet documentation to find out how to reload Jnet's tables.
Delivery via BN_SLAVE can be temporarily disabled by defining
PMDF_DISABLE_BN_SLAVE as a system logical name (the translation value
does not matter as long as the logical is defined).
lmd.com
will invoke the regular Jnet mail delivery
mechanism if this logical is defined. To revert from PMDF delivery to
regular Jnet delivery on a running system, first define this logical
and then use the PMDF RESTART BN_SLAVE command to restart BN_SLAVE. The
switchover will actually occur the next time a class M message is
received by Jnet. In a cluster, you must define this logical on each
cluster member to be affected. Should you later wish to restart
BN_SLAVE, deassign the PMDF_DISABLE_BN_SLAVE logical, and then stop and
restart the local Jnet link with JCP, as shown above. (The PMDF RESTART
command will not restart BN_SLAVE if there is no BN_SLAVE process
currently running; it only restarts an active process.)
To permanently shut down BN_SLAVE (until the system is rebooted or the Jnet link for the local node is restarted), you may use the PMDF SHUTDOWN command:
$ PMDF SHUTDOWN BN_SLAVEThis will cause all BN_SLAVE processes across a cluster to shut themselves down and exit. They will not fail over to the default Jnet LMD server: you are simply left without any LMD daemon running at all.