[HECnet] DECnet for Linux

Erik Olofsen e.olofsen at xs4all.nl
Thu Feb 8 10:07:28 PST 2018


To come back to the connection to MIM described below, it seems
to be related to an unnecessary congestion issue.

When connecting to a node, a configuration message contains
the remote buffer size. MIM/RSX returns 2086.

Accordingly, dnprogs' libdap/connection.cc:set_socket_buffer_size
sets

  setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &blocksize, sizeof(blocksize)) 

and likewise for SO_SNDBUF, as per protocol. But this triggers "on/off"
flow control in the kernel module; the overhead to have a packet in the
decnet socket buffers is such that the above blocksize is too small,
even when it is doubled by default by the kernel - especially with
the low value of 2086. Increasing it with (in exchange_config())

  set_blocksize(min(MAX_READ_SIZE, cm->get_bufsize()<<1));

  (or perhaps just set_blocksize(MAX_READ_SIZE); ?)

helps a lot. Note that the kernel module and VMS announce "no flow control"
(apart from "on/off"), and RSX uses "Session Control Message" flow control,
which the kernel module implements for outbound data, so having
the buffers perhaps too large may not be too problematic.

PS: For creating a decnet.conf the 'dncopynodes' utility may be used.


On Wed, Jan 03, 2018 at 04:02:19PM +0100, Erik Olofsen wrote:
> On a virtual machine with lubuntu 12.04, kernel 3.2.0, I have
> DECnet for Linux V.2.5.68s working, with dnprogs version 2.65.
> It is node RULLFL.
> 
> The daemons and utilities use decnet.conf with node information,
> so something useful would be to create it from mim::nodenames.dat.
> 
> On a VAX, TYPEing it works well, but on the Linux machine, dntype
> hangs after giving parts of the file; dndir mim:: works well.
> 
> Does anyone have dntype mim::nodenames.dat working properly (with
> perhaps different versions of the above)?
> 
> Thanks!
> 


More information about the Hecnet-list mailing list