Well, about two months since my last announcement, and some improvements
have been done, so I figured I should do another one.
I've cut a new release of TCP/IP for RSX, and I encourage everyone to
update to this latest release.
A short list of changes since my last release:
TCP:
. Performance improvements. TCP timers have been redesigned for better
performance. This gave FTP a performance increase of about 15$.
. TCP negative ACK detection has been improved.
, TCP receive packet handling have been redesigned for better
performance, and better code structure.
. Added guards against data received after FIN.
. Bugfix in SPOOF hostname printouts when filter was cleared.
. Bugfix in tcp timers that could cause a close to take a very
long time to clean up.
FTP:
. Bugfix in user verification code which could cause program
to crash. This affected ftpd.
. Changed ftp and ftpd to create files without max record length when
dealing with binary files.
TELNET:
. Added exit handler to telnetd, so that telnetd cannot be aborted
while active sessions exist.
HTTPD:
. Improved webserver handling of binary files.
As usual, the distribution is available from:
ftp://mim.update.uu.se/bqtcp.dsk
ftp://mim.update.uu.se/bqtcp.tap
ftp://ftp.update.uu.se/pub/pdp11/rsx/tcpip/tcpip.dsk
The documentation is also available through ftp on Mim, or also at
http://mim.update.uu.se/tcpipdoc
Note! I've realized that BQTCP/IP do not work right if you have a
PDP-11/74 with multiple processors online. I'll fix that at some point,
as it's probably just a case of affinity not being set on devices, nor
relevant processes. This might only be a problem with telnet in fact. I
know for sure that the IP and TCP drivers works ok in multiprocessor
systems.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Guys,
I've got an Integrity (rx2660) box but the install ISO file I have seems to be corrupt - does anyone happen to have a working ISO I could build the box from (I have the hobbyist licenses)?
Sampsa
I think this topic was up once before, but I can't find it right now, so
I figured I'd ask.
Do anyone have some idea/documentation on how the Multinet capsulates
DECnet traffic over IP. I seem to remember it pretended it was like
ethernet, but I'd like to have all the details.
The reason is that since my TCP/IP for RSX is now at a stage where the
basic functionality is pretty stable and good, I might try something
new. Implementing a line that uses IP for transport would be useful, and
it would also be useful if it was compatible with the Multinet
implementation. I wouldn't mind also doing something compatible with
Cisco. Anyone have the details of that one?
I could also do a very RSX specific implementation, but that would be
less useful, I think.
Anyone else feel like hacking on TCP/IP on PDP-11s? I have lots of
things that could be nice to have under RSX... ;-)
Johnny
Here's the previous message.
paul
> Begin forwarded message:
>
> From: Paul Koning <paul_koning at dell.com>
> Subject: Multinet over TCP -- protocol and observations
> Date: May 30, 2014 at 1:55:37 PM EDT
> To: "<hecnet at Update.UU.SE>" <hecnet at Update.UU.SE>
>
> With help from Bob Armstrong and Peter Lothberg, I have a reverse engineered Python implementation of the Multinet tunnel over TCP working now.
>
> Peter forwarded an old HECnet message that roughly describes the protocol, but some details were missing and some were not quite accurate. For the benefit of anyone else who wants to implement this, here is the protocol description plus some implementation notes.
>
> paul
>
> ?????????????
>
> Multinet protocol for DECnet
>
> A Multinet tunnel runs the Point to Point mode of the DECnet protocol. Traffic may be carried over a TCP connection, or over UDP packets. The operation is nearly the same for both.
>
> In TCP mode, one end is designated the connecting end and the other the listening end. In UDP mode, operation is symmetric since there are no connections. In either case, the port number may be configured; the default is 700.
>
> Multinet puts a 4 byte header on each DECnet packet. For TCP, the first two bytes are the DECnet packet length, little endian. The TCP data stream consists of these packets with headers.
>
> For UDP, the first two byte are a sequence number, little endian. The next two bytes appear to be unused and were observed to contain zero. Each DECnet packet, with its header, is sent as a separate UDP packet. Some Multinet implementations can be configured to check the sequence number in UDP mode; it is not clear how this works (in particular, how it is initialized). Linux does not, and things seem to work fine without this extra check.
>
> Multinet tunneling does not obey many of the requirements that the DECnet Routing architecture imposes on point to point datalinks. The most obvious issue is that routing layer point to point init messages (control packet, type code 0) may appear unexpectedly. This happens even in TCP mode where it might be expected that the TCP connection would be closed and re-established before the init message.
>
> A conforming DECnet implementation reacts to such an unexpected init message by restarting the circuit, sending an init message, and expecting one in return. Multinet does not expect this, and if the peer operates according to the standard, initialization may require many cycles before it finally succeeds. As a workaround, the response to an unexpected init should be to set the routing initialization sublayer state machine to the DS state (without restarting the TCP connection, if any), and processing the unexpected init message as if it had been received in that state.
>
> In testing with a DECnet/VMS system, it was observed to send an Init message requesting verification even though verification was not called for in the circuit parameters. It may be that this was due to the routing architecture requirement to use verification in areas other than area 1. A null verification message (empty FCNVAL field) was accepted by the VMS system in that test.
>
Just thought I'd try and pick the brains of the collective wisdom if
possible.
I had a networking performance issue with AlphaVM-Free (poor ping rates and
sluggish network performance) that has kindly been solved by Artem in the
latest release and therefore my attention turns to the issue with a VAX
satellite node network booting off the AlphaVM-Free instances (which I can
no longer attribute to the same performance issue).
Back in the 'real world' the boxes that supported this configuration were
an AlphaServer 1000/A and a VAXstation 4000/60. In the emulated world they
are now an AlphaVM-Free instance and a SIMH instance, both running on an HP
DL380 Gen 5 with 6 x GB network adapters. Each of the emulated instances is
mapped to a different physical network card.
When I attempt to boot the emulated VAX from its' network adapter I get the
following console messages. Boot appears to proceed but it is glacial. In
the past I've given up long before ever receiving a login prompt on the VAX
instance.
Does anyone have experience with this kind of issue? It doesn't look like
the emulated Alpha network adapter on the AlphaVM instance thinks that it
is experiencing errors based on the output below.
Thanks, Mark.
%<------------------------- VAX console log
Connected to the MicroVAX 3900 simulator CON-TEL device
KA655X-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>boot
(BOOT/R5:0 XQA0
2..
-XQA0
1..0..
%VAXcluster, system loaded from node SLAVE (AA-00-04-00-F9-10)
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk
%SYSBOOT-I-SYSBOOT SYSDUMP.DMP on System Disk successfully mapped
%SYSBOOT-I-SYSBOOT Mapping PAGEFILE.SYS on the System Disk
%SYSBOOT-I-SYSBOOT SAVEDUMP parameter not set to protect the PAGEFILE.SYS
OpenVMS (TM) VAX Version V7.3 Major version id = 1 Minor version id
= 0
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server SLAVE
%VAXcluster, attempting to reconnect to a disk server
%VAXcluster, no connection to disk server
%VAXcluster, attempting to reconnect to a disk server
%VAXcluster, connected to disk server SLAVE
%WBM-I-WBMINFO Write Bitmap has successfully completed initialization.
%<------------------------- Alpha console log
%%%%%%%%%%% OPCOM 11-DEC-2015 17:45:34.47 %%%%%%%%%%%
Message from user DECNET on SLAVE
DECnet event 0.3, automatic line service
>From node 4.249 (SLAVE), 11-DEC-2015 17:45:34.47
Circuit EWA-0, Load, Requested, Node = 4.259 (ALEPH)
File = ALEPHSYSTEM$:[SYS0.], Operating system, Ethernet address =
08-00-2B-2C-20
-6E
%%%%%%%%%%% OPCOM 11-DEC-2015 17:46:01.70 %%%%%%%%%%%
Message from user DECNET on SLAVE
DECnet event 0.3, automatic line service
>From node 4.249 (SLAVE), 11-DEC-2015 17:46:01.70
Circuit EWA-0, Load, Successful, Node = 4.259 (ALEPH)
File = ALEPHSYSTEM$:[SYS0.], Operating system, Ethernet address =
08-00-2B-2C-20
-6E
Username:
%PEA0, Port has Closed Virtual Circuit - REMOTE NODE ALEPH
Username:
%PEA0, Port has Closed Virtual Circuit - REMOTE NODE ALEPH
Username:
%PEA0, Port has Closed Virtual Circuit - REMOTE NODE ALEPH
Username: system
Password:
01010011 01001100 01000001 01010110 01000101
+-+-+-+-+-+
|S|L|A|V|E|
+-+-+-+-+-+
Welcome to SLAVE running OpenVMS AXP 8.3
SLAVE is a member of the HALO Cluster
Strictly non-commercial use only
Documentation is available at http://hpm.hecnet.eu/wiki/
Last interactive login on Friday, 11-DEC-2015 17:38:17.57
Last non-interactive login on Friday, 11-DEC-2015 17:44:08.37
SLAVE$$ show device pea0:/full
Device PEA0:, device type NI_SCA, is online, shareable, error logging is
enabled.
Error count 576 Operations completed
0
Owner process "" Owner UIC
[SYSTEM]
Owner process ID 00000000 Dev Prot
S:RWPL,O:RWPL,G,W
Reference count 0 Default buffer size
0
Current preferred CPU Id 0 Fastpath
1
SLAVE$$ mcr ncp show known lines count
Known Line Counters as of 11-DEC-2015 17:51:28
Line = EWA-0
654 Seconds since last zeroed
6522 Data blocks received
2589 Multicast blocks received
0 Receive failure
655620 Bytes received
372627 Multicast bytes received
0 Data overrun
3341 Data blocks sent
335 Multicast blocks sent
0 Blocks sent, multiple collisions
0 Blocks sent, single collision
0 Blocks sent, initially deferred
1529780 Bytes sent
42723 Multicast bytes sent
0 Send failure
0 Collision detect check failure
0 Unrecognized frame destination
0 System buffer unavailable
5 User buffer unavailable
SLAVE$$
You don't mention the host OS??
On Dec 11, 2015 10:04 AM, Mark Wickens <mark at wickensonline.co.uk> wrote:
Just thought I'd try and pick the brains of the collective wisdom if possible.
I had a networking performance issue with AlphaVM-Free (poor ping rates and sluggish network performance) that has kindly been solved by Artem in the latest release and therefore my attention turns to the issue with a VAX satellite node network booting off the AlphaVM-Free instances (which I can no longer attribute to the same performance issue).
Back in the 'real world' the boxes that supported this configuration were an AlphaServer 1000/A and a VAXstation 4000/60. In the emulated world they are now an AlphaVM-Free instance and a SIMH instance, both running on an HP DL380 Gen 5 with 6 x GB network adapters. Each of the emulated instances is mapped to a different physical network card.
When I attempt to boot the emulated VAX from its' network adapter I get the following console messages. Boot appears to proceed but it is glacial. In the past I've given up long before ever receiving a login prompt on the VAX instance.
Does anyone have experience with this kind of issue? It doesn't look like the emulated Alpha network adapter on the AlphaVM instance thinks that it is experiencing errors based on the output below.
Thanks, Mark.
%<------------------------- VAX console log
Connected to the MicroVAX 3900 simulator CON-TEL device
KA655X-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>boot
(BOOT/R5:0 XQA0
2..
-XQA0
1..0..
%VAXcluster, system loaded from node SLAVE (AA-00-04-00-F9-10)
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server
%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk
%SYSBOOT-I-SYSBOOT SYSDUMP.DMP on System Disk successfully mapped
%SYSBOOT-I-SYSBOOT Mapping PAGEFILE.SYS on the System Disk
%SYSBOOT-I-SYSBOOT SAVEDUMP parameter not set to protect the PAGEFILE.SYS
OpenVMS (TM) VAX Version V7.3 Major version id = 1 Minor version id = 0
%VAXcluster, no connection to disk server
%VAXcluster, no connection to disk server SLAVE
%VAXcluster, attempting to reconnect to a disk server
%VAXcluster, no connection to disk server
%VAXcluster, attempting to reconnect to a disk server
%VAXcluster, connected to disk server SLAVE
%WBM-I-WBMINFO Write Bitmap has successfully completed initialization.
%<------------------------- Alpha console log
%%%%%%%%%%% OPCOM 11-DEC-2015 17:45:34.47 %%%%%%%%%%%
Message from user DECNET on SLAVE
DECnet event 0.3, automatic line service
>From node 4.249 (SLAVE), 11-DEC-2015 17:45:34.47
Circuit EWA-0, Load, Requested, Node = 4.259 (ALEPH)
File = ALEPHSYSTEM$:[SYS0.], Operating system, Ethernet address = 08-00-2B-2C-20
-6E
%%%%%%%%%%% OPCOM 11-DEC-2015 17:46:01.70 %%%%%%%%%%%
Message from user DECNET on SLAVE
DECnet event 0.3, automatic line service
>From node 4.249 (SLAVE), 11-DEC-2015 17:46:01.70
Circuit EWA-0, Load, Successful, Node = 4.259 (ALEPH)
File = ALEPHSYSTEM$:[SYS0.], Operating system, Ethernet address = 08-00-2B-2C-20
-6E
Username:
%PEA0, Port has Closed Virtual Circuit - REMOTE NODE ALEPH
Username:
%PEA0, Port has Closed Virtual Circuit - REMOTE NODE ALEPH
Username:
%PEA0, Port has Closed Virtual Circuit - REMOTE NODE ALEPH
Username: system
Password:
01010011 01001100 01000001 01010110 01000101
+-+-+-+-+-+
|S|L|A|V|E|
+-+-+-+-+-+
Welcome to SLAVE running OpenVMS AXP 8.3
SLAVE is a member of the HALO Cluster
Strictly non-commercial use only
Documentation is available at http://hpm.hecnet.eu/wiki/
Last interactive login on Friday, 11-DEC-2015 17:38:17.57
Last non-interactive login on Friday, 11-DEC-2015 17:44:08.37
SLAVE$$ show device pea0:/full
Device PEA0:, device type NI_SCA, is online, shareable, error logging is
enabled.
Error count 576 Operations completed 0
Owner process "" Owner UIC [SYSTEM]
Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G,W
Reference count 0 Default buffer size 0
Current preferred CPU Id 0 Fastpath 1
SLAVE$$ mcr ncp show known lines count
Known Line Counters as of 11-DEC-2015 17:51:28
Line = EWA-0
654 Seconds since last zeroed
6522 Data blocks received
2589 Multicast blocks received
0 Receive failure
655620 Bytes received
372627 Multicast bytes received
0 Data overrun
3341 Data blocks sent
335 Multicast blocks sent
0 Blocks sent, multiple collisions
0 Blocks sent, single collision
0 Blocks sent, initially deferred
1529780 Bytes sent
42723 Multicast bytes sent
0 Send failure
0 Collision detect check failure
0 Unrecognized frame destination
0 System buffer unavailable
5 User buffer unavailable
SLAVE$$