CAC 2016-08-03

IMFT configuration

Setting up a talking system and a listening system.

Enabling dialout and slave support on your emulator

Checkout the 'x25' branch.

Create a Makefile.local in src/dps8 containing:

FNP2=1

Build.

Edit your bootup .ini script; change

attach MUX -am 6180

to

fnpserverport 6180

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 each system. The following uses primary and remote system names of 'Sudo; and Sudo2', with the following port assignments:

Example talking system:

Sudo dialin 127.0.0.1:6180
Sudo slave: 127.0.0.1:6131

Example listening system:

Sudo2 dialin: 127.0.0.1:6280
Sudo2 slave: 127.0.0.1:6231

Talking system

Update the CMF to assign slave and dialout lines

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

Edit >ddd>idd>iod_tables.iodt.

Delete everything from "Remote G115" to, but not including the "End;" at the end of the file, and add the IMFT data:

Change "Local" to the name of your Local system; must begin with an uppercase letter.

Change "Remote" in "Remote", "To_Remote"1 and "From_Remote" to the name of the Remote system; must begin with an upper case letter.

Change "127000000001006182" to the IP address and port of the slave line on the remote 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.

cwd >ddd>idd
qedx
r iod_tables.iodt
/Remote G115/
.,$d
i
Request_type:       dummy;
  generic_type:     none;
  device:           rdra;
  max_queues:       1;

Device: remote_out;
  driver_module: >system_library_unbundled>imft_driver_;
  line: *;
  args: "direction=output,
          local_system=Local,
          foreign_system=Remote,
          trigger_text=""foo"",
          iods=""tty_ d.h030 -ds 127000000001006182"",
          mode=auto";
    default_type: To_Remote;

Request_type: imft;
  generic_type: imft;
  device: remote_out;

Request_type: To_Remote;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 1;
  accounting: nothing;
  max_access_class: system_high;
  device: remote_out.;

Request_type: From_Remote;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 1;
  accounting: nothing;
  max_access_class: system_high;
  device: remote_out;

End;
\f
; Substitue local and remote system names here.
1,$s/Local/Sudo/
1,$s/Remote/Sudo2/
; Substitute listening system slave line IP address and port
1,$s/127000000001006182/127000000001006231/
w
q
iod_tables_compiler iod_tables
cdq iod_tables

Add users IMFT, Local and Remote

As above, Local and Remote are changed as needed

new_user$nua
*IMFT, USER
Yoyodyne
2

Daemon

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

Daemon

password
password
password
password
Local
y
y
*Remote, Site
Yoyodyne
4

Daemon

password
password
password
password
Remote
y
n
ec master upmf Daemon IMFT
ec master upmf Daemon Local
ec master upmf Daemon Remote

Authorizations for the IMFT daemon

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 system.

Edit your 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;

Edit your bootup .ini to include 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.

Start the talking system.

Configuring the listening system.

In a separate directory copy everything you need to run a system.

Edit the Devices.txt file, changing the slave line "port" to the desired value (6231 for this example)

Boot the system.

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

Edit >ddd>idd>iod_tables.iodt.

Delete everything from "Remote G115" to, but not including the "End;" at the end of the file, and add the IMFT data:

Change "Local" to the name of your foreign system; must begin with an uppercase letter.

Change "Remote" in "Remote", "To_Remote"1 and "From_Remote" to the name of the primary system; must begin with an upper case letter.

Change "127000000001006182" to the IP address and port of the slave line on the primary 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:6180.

cwd >ddd>idd
qedx
r iod_tables.iodt
/Remote G115/
.,$d
i
Request_type:       dummy;
  generic_type:     none;
  device:           rdra;
  max_queues:       1;

Device: remote_in;
  driver_module: >system_library_unbundled>imft_driver_;
  line: *;
  args: "direction=input,
          local_system=Local,
          foreign_system=Remote,
          iods=""tty_ d.h031"",
          mode=auto";
  default_type: From_Remote;

Request_type: imft;
  generic_type: imft;
  device: remote_in;

Request_type: To_Remote;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 1;
  accounting: nothing;
  max_access_class: system_high;
  device: remote_in.;

Request_type: From_Remote;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 1;
  accounting: nothing;
  max_access_class: system_high;
  device: remote_in;

End;
\f
; Substitue local and remote system names here.
1,$s/Local/Sudo2/
1,$s/Remote/Sudo/
w
q
iod_tables_compiler iod_tables
cdq iod_tables

Add users IMFT, Local and Remote

As above, Local and Remote are changed as needed

new_user$nua
*IMFT, USER
Yoyodyne
2

Daemon

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

Daemon

password
password
password
password
Local
y
y
*Remote, Site
Yoyodyne
4

Daemon

password
password
password
password
Remote
y
n
ec master upmf Daemon IMFT
ec master upmf Daemon Local
ec master upmf Daemon Remote

Authorizations for the IMFT daemon

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
delete (mitfti mitfto).message
create (mitfti mitfto).message
set_acl (mitfti mitfto).message rw *.Daemon.*

Shutdown the system.

Edit your 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;

Edit your bootup .ini to include 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