<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 6/29/2020 20:45, John Forecast
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6FF3409C-6672-4BE1-A80B-F4B743609407@forecast.name">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">Recently I have found, and fixed, a number of
        bugs in the DECnet for Linux kernel module. Some of</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">these bugs may be relevant for members of this
        mailing list who are using DECnet for Linux,</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">especially on a Raspberry Pi.</div>
    </blockquote>
    <p>John - how about making our pandemic and politician-stressed
      lives a bit easier and uploading a microSD image somewhere
      relieving us from having to go through the hoops?<br>
      <br>
      <a
href="https://github.com/JohnForecast/RaspbianDECnet/blob/master/README.Raspbian">https://github.com/JohnForecast/RaspbianDECnet/blob/master/README.Raspbian</a>
      is fantastic, BTW.<br>
    </p>
    <p>:)<br>
    </p>
    <p>Regards<br>
      Supratim<br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:6FF3409C-6672-4BE1-A80B-F4B743609407@forecast.name">
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">Major bugs fixed:</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- Ethernet Listen Timer was not implemented</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>In
        addition, the check for an address change for the designated
        router (DR) was missing</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>although
        there was a check if the DR’s priority had changed.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>Note:
        this code changes the format of /proc/net/decnet_dev to include
        the listen timer value.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span> 
                nml/nml2 needs to be rebuilt to understand the changed
        format.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- System panic when using the loopback device
        (lo)</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>The
        DECnet code was missing a destructor routine which is used to
        avoid data copying.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- The neighbour (adjacent node) code could be
        broken by kernel changes</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>The
        code made use of a now deprecated feature (zero length array at
        the end of a structure)</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>in
        order to access data in a surrounding structure. This happened
        to work “by chance”</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>until
        kernel 5.4.42 on 32-bit processors.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- Interrupt message flow control was broken</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>The
        flow control was a mixture of using the SEND/DONTSEND status of
        the data</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>subchannel
        and a message count. This seems to work between Linux systems
        but is broken</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>when
        communicating with other systems - during the life of a logical
        link, the remote system</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>could
        only send a single interrupt message while the Linux system
        could pretty much send</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>as
        many interrupts as it wanted possibly overrunning the remote
        systems buffers.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- Optional data on received connect confirm
        message was corrupted</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>The
        code was getting the optional data from the wrong offset in the
        message.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- Next hop cache problem</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>30
        seconds after a logical link was taken down, the next hop cache
        entry was deleted. As</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>part
        of this deletion, the link was taken “down” which caused a
        neighbour entry to be</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>created
        for the same node address but accessed via the loopback device.
        Sometimes this</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>would
        cause the designated router to become accessible via the
        loopback device and</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>subsequent
        connections would fail.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- Intra-ethernet bit ignored</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>The
        intra-ethernet bit in the routing flags is ignored on inbound
        traffic. If there was a neighbour</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>entry
        for the remote node at connection time, everything would work
        correctly. If there wad no</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>entry,
        all outbound  traffic would be sent through the designated
        router for the duration of</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>the
        logical link.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">- Promiscuous mode alters DECnet behaviour</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>If
        the ethernet NIC used for DECnet had promiscuous mode enabled
        (e.g. using tcpdump</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>for
        traffic tracing), the DECnet code would start seeing endnode
        hello’s, populating</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>neighbour
        structures and causing the problems described above for the
        intra-ethernet bit</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>to
        go away.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">New programs:</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">DECnet Test Send and DECnet Test Receiver
        (DTS/DTR)</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>Test
        programs created via reverse engineering the protocol exchanges.
        Used to find a</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>number
        of the bugs described above.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">NML2</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>New
        implementation of the Network Management Listener. Supports
        SUMMARY, STATUS</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>and
        CHARACTERISTICS for NODES, CIRCUITS and AREAS. It does not
        support LINKS</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>and
        OBJECTS which were in the old version but are system specific
        operations which</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>were
        only visible from DECnet-VMS systems.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>The
        old version is still the default during installation. The new
        version can be installed by:</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">             </span>cd
        dnprogs/nml2</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">             </span>make</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">             </span>sudo
        make install</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>which
        will overwrite the installed executable and man page.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class="">OS Support:</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>As
        of 06/29/2020 the code has been tested with:</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">             </span>Raspbian
        2020-05-27 release with kernels 4.19.126 and 5.4.44 (32-bit
        only)</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">             </span>Pi
        OS 2020-05-27 32-bit release with kernel 4.19.126 and 5.4.44</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><span class="Apple-tab-span" style="white-space:pre">             </span>pI
        OS 2020-05-27 (fully updated on 06/26/2020) with kernel 5.4.49</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class="">The source code and
        installation instructions are available at:</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><span class="Apple-tab-span" style="white-space:pre">   </span><<a
          href="https://github.com/JohnForecast/RaspbianDECnet" class=""
          moz-do-not-send="true">https://github.com/JohnForecast/RaspbianDECnet</a>></div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class="">  John.</div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal; min-height: 14px;" class=""><br class="">
      </div>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Supratim Sanyal, W1XMT
39.19151 N, 77.23432 W
QCOCAL::SANYAL via HECnet</pre>
  </body>
</html>