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