IMFT/X.25

IMFT

CY73

pg 2.1: 1. Define the HASP of X.25 mutiplexed channel

pg 2.2: "If you are setting up an X.25 channel, configure it on one system as the "DCE".
and on the other system configure it as the "DTE". Either system can be the DCE or
DTE."

TTF

TTF.ttf:

add:

terminal_type: IMFT_X25_DCE;
additional_info: "type=DCE n_lc=4";
terminal_type: IMFT_X25_DTE;
additional_info: "type=DTE n_lc=4";
cv_ttf TTF
install TTF.ttt

CMF

pg: 2.4 "You must define a HASP or X.25 multiplexed channel in the CMF."

CMF.cmf

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.h030;
name: d.h031;
   service: multiplexer;
   multiplexer_type: x25,active;
   baud: 9600;
   line_type:          X25LAP;
   terminal_type: IMFT_X25_DCE;
name: d.h031.aut01-d.h031.aut04;
   service: autocall;
name: d.h031.slv01-d.h031.slv04;
   service: slave;
end;
cv_cmf CMF.cmf
install CMF.cdt
M-> display_cdt d.h031

CDTE at 401|7750

     in_use:                        1 (hung up)
     name:                          d.h031
     Multiplexer data:
      service_type:                 1 (active)
      mpx_type:                     11 (x25)
      state:                        3 (boot started)

M-> display_cdt d.h031.aut01

CDTE at 401|10120

     in_use:                        1 (hung up)
     name:                          d.h031.aut01
     access_class:                  system_low
     comment:                       
     charge_type:                   0 (none)
     service_type:                  6 (dial out)
     current_service_type:          6 (dial out)
     line_type:                     0 (none)
     terminal_type:                 
     baud_rate:                     9600

M-> display_cdt d.h031.slv01

CDTE at 401|10760

     in_use:                        1 (hung up)
     name:                          d.h031.slv01
     access_class:                  system_low
     comment:                       
     charge_type:                   0 (none)
     service_type:                  4 (slave)
     current_service_type:          4 (slave)
     line_type:                     0 (none)
     terminal_type:                 
     baud_rate:                     9600

pg. 2-12 Defining the I/O daemon for IMFT

"1. Add the definitions of the input and output drivers, and the
definition(s) of the Request_type(s) used by the user commands to the
I/O daemon tables.

"2. Register the I/O daemon in the Project Master File (PMF) and in the
Person Name Table (PNT)."

pg 2-12: "… If IMFT is to be available on a system wide basis, add the required
PMF entries to a system overhead project such as "Daemon" or "SysDaemon".

Edit >ddd>idd>iod_tables.iodt.

Delete everything from "Remote G115" to, but not including the "End;" at the end of the file.

Befroe the "End;" add:

Request_type:       dummy;
  generic_type:     none;
  device:           rdra;
  max_queues:       1;

Device: test_imft_out;
  driver_module: imft_driver_;
  line: *;
  args: "direction=output,
          local_system=IMFT,
          foreign_system=IMFT,
          iods=""tty d.h031.*, -ds localhost:slv01"",
          mode=automatic,
          auto_go=yes";
  minor_device: to;
  default_type: to_imft;
  minor_device: from;
  default_type: from_imft;

Device: test_imft_in;
  driver_module: imft_driver_;
  line: *;
  args: "direction=input,
          local_system=IMFT,
          foreign_system=IMFT,
          iods=""tty d.h031.*, -ds localhost:slv01"",
          mode=automatic,
          auto_receive=yes";
  default_type: to_imft;
Request_type: to_imft;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 3;
  accounting: nothing;
  max_access_class: system_high;
  device: test_imft_out.to;
  device: test_imft_in;

Request_type: from_imft;
  generic_type: imft;
  driver_userid: IMFT.Daemon;
  default_queue: 3;
  accounting: nothing;
  max_access_class: system_high;
  device: test_imft_out.from;
cwd >ddd>idd
iod_tables_compiler iod_tables

Add User IMFT

ec master register\n
IMFT, User\n
Yoyodyne\n
2\n
\n
Daemon\n
password\n
password\n
password\n
password\n
n\n
IMFT\n
y\n
n\n
M-> ec master ison IMFT

true
User ID for *IMFT, User is "IMFT".
M-> print_pdt Daemon IMFT

personid:             IMFT;
 state:               1;
 now_in:              0;
 attributes:          nobump, guaranteed_login, nopreempt, dialok, multip, vhomedir, nostartup, daemon;
 initproc:            iod_overseer_;
 homedir:             >user_dir_dir>Daemon>IMFT;
 grace:               2880;
 ring:                4, 5, 4;
cwd >udd>sa>a
ac x pmf Daemon.pmf
qedx
r Daemon.pmf
$
i
personid: IMFT;
  initproc: iod_overseer_;
  attributes: ^v_process_overseer, dialok, daemon, multip;
\f
cv_pmf Daemon
install Daemon.pdt

sa >sc1>PNT r IMFT.Daemon

in startup.ec:

hpsa >sl1>system_privilege_ re *.RingZero.*
hpsa >sl1>queue_admin_ re *.RingZero.*

[[/code]]

Testing

Multics MR12.6d: Yoyodyne Propulsion Systems (Channel d.h000)
Load = 7.0 out of 90.0 units: users = 7, 04/01/16  1615.0 pst Fri
l IMFT Daemon
Password:
You are protected from preemption.
IMFT.Daemon logged in 04/01/16  1615.2 pst Fri from ASCII terminal "none".
Enter command:  coordinator, driver, or logout:
driver

IO Daemon Driver Version: 5.7

Enter command or device/request_type:
test_imft_out default
imft_driver_: IMFT driver process can not access the system PNT.
local_system= IMFTid
iodd_: Unable to initialize driver.

Enter command or device/request_type:

data on the line

fnp_command("fnp-d", "cpu-a", "output 31 7 data:7:00001000fb0000")

00   l2 pad
00   l2 pad
10  0001 0000   Q 0 D 0 Group 0
00 00000000 Channel 0
fb packet type  RSRTRQ /* restart request or restart indication (DCE) */
00  no_fc_data
00

XOt White Paper: gcom.com/files/xot%20white%20paper.pdf

CC34 Multics Bulk I/O: bitsavers.trailing-edge.com/pdf/honeywell/multics/swenson/cc34-01d.820700.mr10-0.bulk-input-output.190.pdf

RFC 161 XOT tools.ietf.org/html/rfc1613

X.25 A tutorial: http://www.cse.wustl.edu/~jain/cis777-98/ftp/g_4x25.pdf

Wikipedia X.25: https://en.wikipedia.org/wiki/X.25

X.25 Packet Switching Tutorial: www.sangoma.com/tutorials/x25/

The Re-Analysis and Re-Implementation of X.25: ftp://ftp.avocent.com/public/product-upgrades/cyclades/pc300/linux/doc/x25.pdf

X.25 Packet Layer Protocol: www.farsite.com/X.25/X.25_info/X.25_Packet_Layer.htm

open337: www.openss7.org/download.html

Multics X.25 packet code: /home/cac/Projects/multics/dps8m-code/src/dps8/MITascii/library_dir_dir/system_library_1/source/bound_x25_mpx.s.archive

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