IMFT configuration

Under revision; come back later

IMFT configuration

Configuring an asymmetric system: system Dialout calls system Dialin and transfers files bidirectionally.

Need to know:

What HSLA lines will be used on each system. The following uses d.h030 for dial out and d.h031 for slave.

The IP Address and port of the slave line on the Dialin system. The example below uses 1.2.3.4:5678.

CMF.cmf

On each system, update the CMF files to assign slave and dialout lines. (This configuration assigns autocall and
slave lines for each system for simplicity; the Dialout system will only use the autocall line and the Dialin system
will only use the slave line.)

Edit >udd>sa>a>CMF.cmf

cwd >udd>sa>a
qedx
r CMF.cmf
1,$d
i
Service: login;
Charge: none;
Terminal_type: none;
Line_type: none;
Baud: 9600;
FNP_required_up_time: 5;
FNP:      D;
   type:            DN6670;
   memory:          64;
   lsla:            0;
   hsla:            1;
   image:           >system_library_unbundled>site_mcs;
   service:         active;
name: d.h000-d.h029;
name: d.h030;
   service: autocall;
name: d.h031;
   service: slave;
end;
\f
w
y
q
cv_cmf CMF.cmf
install CMF.cdt

iod_tables.iodt

Dialout system

Edit >ddd>idd>iod_tables.iodt.

Add the following entries, changing the string 'Dialout' to the name of the Multics system that will be dialing out
and the string 'Dialin' to the name of the Multics system that will be dialed in to.

Also, change the string '127000000001006182' to the IP address and port of the slave line on the Dialin system.
The coding is is the first 12 digits is the IP address, with each octet a 0 filled 3 digit field and the port number is a 0
filled six digit field. Thus 127000000001006182 is 127.0.0.1:6182.

Device: Dialout_out;
  driver_module: >system_library_unbundled>imft_driver_;
  line: *;
  args: "direction=output,
          local_system=Dialout,
          foreign_system=Dialin,
          auto=yes,
          iods=""tty_ d.h030 -ds 0010020030045678"",
          mode=automatic";
  minor_device: to;
    default_type: To_Dialin;
  minor_device: from;
    default_type: From_Dialin;

Request_type: To_Dialin;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 3;
  accounting: nothing;
  max_access_class: system_high;
  device: Dialout_out.to;

Request_type: From_Dialin;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 3;
  accounting: nothing;
  max_access_class: system_high;
  device: Dialout_out.from;

After the segment is edited, run the following commands to compile and install the table:

iod_tables_compiler iod_tables
cdq iod_tables

Dialin system

Edit >ddd>idd>iod_tables.iodt.

Add the following entries, changing the string 'Dialout' to the name of the Multics system that will be dialing out
and the string 'Dialin' to the name of the Multics system that will be dialed in to.

Device: Dialin_in;
  driver_module: imft_driver_;
  line: *;
  args: "direction=input,
         local_system=Dialin,
         foreign_system=Dialout,
         auto=yes,
         iods=""tty_ d.h031"",
         mode=automatic,
         allow_remote_request=yes";
  minor_device:from;
    default_type: From_Dialout;

Request_type: From_Dialout;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 3;
  accounting: nothing;
  max_access_class: system_high;
  device: Dialin_in.from;

After the segment is edited, run the following commands to compile and install the table:

iod_tables_compiler iod_tables
cdq iod_tables

Users

On both systems, add users IMFT, Dialin and Dialout

As above, Dialin and Dialout are changed to the names of the respective Multics systems.

new_user$nua
*IMFT, USER
Yoyodyne
2

Daemon

password
password
password
password
IMFT
y
y
*Dialin, Site
Yoyodyne
3

Daemon

password
password
password
password
Dialin
y
y
*Dialout, Site
Yoyodyne
4

Daemon

password
password
password
password
Dialout
y
n
ec master upmf Daemon IMFT
ec master upmf Daemon Dialin
ec master upmf Daemon Dialout

Authorizations for the IMFT daemon

On both systems, set the access authorizations for the IMFT daemon. (Again, simplicity)

sa >sc1>PNT.pnt rw IMFT.Daemon
create >sc1>rcp>d.h030.acs
sa >sc1>rcp>d.h030.acs rw IMFT.Daemon
create >sc1>rcp>d.h031.acs
sa >sc1>rcp>d.h031.acs rw IMFT.Daemon
cwd >sc1
delete (mitfti mitfto).message
create (mitfti mitfto).message
set_acl (mitfti mitfto).message rw *.Daemon.*

Shutdown the systems.

Devices.txt

On both system's hosts, edit the Devices.txt to look like:

name: d.h000;
name: d.h001;
name: d.h002;
name: d.h003;
name: d.h004;
name: d.h005;
name: d.h006;
name: d.h007;
name: d.h008;
name: d.h009;
name: d.h010;
name: d.h011;
name: d.h012;
name: d.h013;
name: d.h014;
name: d.h015;
name: d.h016;
name: d.h017;
name: d.h018;
name: d.h019;
name: d.h020;
name: d.h021;
name: d.h022;
name: d.h023;
name: d.h024;
name: d.h025;
name: d.h026;
name: d.h027;
name: d.h028;
name: d.h029;

# Auto call line
name: d.h030;
   service: autocall;

# Slave line
name: d.h031;
   service: slave;
   port: 6131

end;

Add commands to the Multics startup process to enable IMFT. These commands can either be in
you boot .ini file or in your site_start_up.ec.

Dialout system

To use boot .ini, add the following after "autoinput boot star"

autoinput admin\n
autoinput hp_set_acl >sl1>system_privilege_ re IMFT.Daemon\n
autoinput hp_set_acl >sss>queue_admin_ re IMFT.Daemon\n
autoinput ame\n
autoinput define iolog log iolog\n
autoinput define iod tty otw_\n
autoinput route (mitfti mitfto) user_i/o iod\n
autoinput route (mitfti mitfto) error_i/o *iod\n
autoinput route (mitfti mitfto) log_i/o *iod\n
autoinput route (mitfti mitfto) user_i/o iolog\n
autoinput route (mitfti mitfto) error_i/o *iolog\n
autoinput route (mitfti mitfto) log_i/o *iolog\n
autoinput x io\n
autoinput admin\n
autoinput pause 10\n
autoinput ame\n
autoinput login IMFT.Daemon mitfto\n
autoinput admin\n
autoinput pause 10\n
autoinput ame\n
autoinput reply mitfto driver\n
autoinput reply mitfto remote_out default\n

You may already have an "x io" in your bootup .ini; it needs to run to start the coordinator. so it must be after the define/route commands and before the login commands. You may have to merge your existing scripts in.

To use your site_start_up.ec, add the following:

TODO: I don't know how to do the initializer commands (define, route, x, login, reply) from the .ec

Start the local (dialout) system.

Dialin system

To use boot .ini, add the following after "autoinput boot star"

autoinput admin\n
autoinput hp_set_acl >sl1>system_privilege_ re IMFT.Daemon\n
autoinput hp_set_acl >sss>queue_admin_ re IMFT.Daemon\n
autoinput ame\n
autoinput define iolog log iolog\n
autoinput define iod tty otw_\n
autoinput route (mitfti mitfto) user_i/o iod\n
autoinput route (mitfti mitfto) error_i/o *iod\n
autoinput route (mitfti mitfto) log_i/o *iod\n
autoinput route (mitfti mitfto) user_i/o iolog\n
autoinput route (mitfti mitfto) error_i/o *iolog\n
autoinput route (mitfti mitfto) log_i/o *iolog\n
autoinput x io\n
autoinput admin\n
autoinput pause 10\n
autoinput ame\n
autoinput login IMFT.Daemon mitfti\n
autoinput admin\n
autoinput pause 10\n
autoinput ame\n
autoinput reply mitfti driver\n
autoinput reply mitfti remote_in\n

You may already have an "x io" in your bootup .ini; it needs to run to start the coordinator. so it must be after the define/route commands and before the login commands. You may have to merge your existing scripts in.

Start the listening system.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License