DECnet-VAX Phase V WAN connectivity in open-simh using an HDLC datalink
DNA Phase V introduced HDLC as a supported WAN datalink for use with DECnet. HDLC framing offers efficiency gains in terms of bits transmitted compared to DDCMP, especially with short packets. The default frame size was larger, and a 32 bit FCS was optionally supported for improved error detection.
Current versions of open-simh, as of this blog post, support HDLC framing on the DUP11 and DPV11 devices.
Read the previous post about installing and configuring DECnet-plus to get started. Then, rather than configuring a DDCMP datalink, you simply configure an HDLC datalink instead.
Unfortunately, the VMS DUP11/DPV11 driver has more bugs that affect HDLC operation when used with open-simh, so some additional patches are needed. The following is a superset of the previous patches required for DPV11 DDCMP and those required for HDLC, so will give a driver that works for both:
$ patch sys$loadable_images:sedriver.exe /absolute repl/inst 3f25 'MOVB (R7),B^07(R0)' exit 'NOP' exit repl/inst 3f30 'MOVB (R10),B^06(R0)' exit 'MOVW (R10),B^06(R0)' exit repl/inst 3ec8 'MOVB (R10),B^06(R0)' exit 'NOP' exit repl/inst 3ed8 'MOVB (R7),B^07(R0)' exit 'MOVW (R10), B^06(R0)' exit repl/inst 3ef9 'MOVB (R10),B^06(R0)' exit 'NOP' exit repl/inst 3f0b 'MOVB (R7),B^07(R0)' exit 'MOVW (R10), B^06(R0)' exit repl/inst 4611 'MOVB W^02B1(R2),B^07(R0)' exit 'NOP' exit repl/inst 461a 'MOVB W^02B0(R2),B^06(R0)' exit 'MOVW W^02B0(R2),B^06(R0)' exit repl/inst 45bb 'MOVB W^02B0(R2),B^06(R0)' exit 'NOP' exit repl/inst 45c9 'MOVB W^02B1(R2),B^07(R0)' exit 'MOVW W^02B0(R2),B^06(R0)' exit update
As the previous examples used a DUP11, I've demonstrated a DPV11 below. First configure the device in open-simh, and load the driver in VMS.
sim> show dpv
DPV address=200000B8-200000BF*, vector=2C0-2C4*, BR4, lines=1
attached to Line=0,UDP,12351,Connect=192.168.0.4:12350, speed=0 (unrestricted), No Corruption
sim> continue
$ mcr sysgen
SYSGEN> SHO/UNI
** UNIBUS map for nexus #0 on 16-AUG-2022 10:07:15.28 **
Address 760270 (83470CB8) responds with value 0200 (hex)
Address 760272 (83470CBA) responds with value 0000 (hex)
Address 760274 (83470CBC) responds with value 0004 (hex)
Address 760276 (83470CBE) responds with value 0000 (hex)
$ mcr sysgen
CONN SEA0 /ADA=0 /VEC=%X2C0 /CSR=%O760270 /numvec=2
$ mcr ncl create modem connect line sea0 comm port sea0 set modem connect line sea0 modem control none create hdlc link hdlc-0 create hdlc link hdlc-0 logical station hdlc-0 set hdlc link hdlc-0 phys line mode conn line sea0 enab hdlc link hdlc-0 enab hdlc link hdlc-0 logi stat hdlc-0 creat routing circ hdlc-0 type hdlc set rout circ hdlc-0 data link ent hdlc link hdlc-0 logi stat hdlc-0 enable rout circ hdlc-0 enab mode conn line sea0
NCL>show hdlc link hdlc-0 logi stat * all
Node 0 HDLC Link hdlc-0 Logical Station hdlc-0
at 2022-08-16-10:14:31.060+01:00Iinf
Identifiers
Name = hdlc-0
Status
State = On
Protocol State = Running
Maintenance Mode = False
Remote Version = '010000'H
Command Address = 3
UID = 3B8066A0-1D3B-11ED-805E-AA000400C275
Counters
Creation Time = 2022-08-16-09:12:55.690+01:00Iinf
Data Octets Received = 35587
Data Octets Sent = 98831
Data PDUs Received = 302
Data PDUs Sent = 427
FRMRs Received = 0
FRMRs Generated = 0
Invalid Mode Commands = 0
Times Acknowledge Timer Expired = 869
Negotiation Failures = 1
Times Station Inoperative = 0
Times Station Maintenance = 0
REJs Received = 2
REJs Sent = 0
Polls Received = 2
RNRs Received = 0
RNRs Sent = 0
Times Station Halted = 0
Times Station Resetting = 0
Times Station Initialising = 2
Times Station Running = 2
Times Station Setup Failed = 0
Unknown UI PDUs Received = 0
XIDs Received = 304
NCL> show routing circuit hdlc-0 adj * all
Node 0 Routing Circuit hdlc-0 Adjacency RTG$0147
at 2022-08-16-10:16:41.240+01:00Iinf
Identifiers
Name = RTG$0147
Status
Type = Autoconfigured
State = Up
Neighbor Node Type = Phase V Endnode
Endnode IDs =
{
AA-00-04-00-C4-75 (LOCAL:.TOGATH)
}
Endnode NETs =
{
49::00-1D:AA-00-04-00-C4-75:00 (LOCAL:.TOGATH)
}
Comments
Post a Comment