Right. DECnet segment size is picky. I would really recommend people to 
just leave it at 576 everywhere. Of course, with end nodes, other values 
(especially smaller ones) will not hurt. But it's best to usually not 
play around with it.
But then we have this buffer size, which is separate, and which caused 
the problems towards VMS that I found out at Stupi. But it seems it 
might also play tricks in Tops-20 then...
   Johnny
On 2021-01-12 21:29, Peter Lothberg wrote:
  The DECnet segment size has to be the same
"network wide".
 
 If I remember right DECnet looks at the two end nodes and uses the 
 smalles segment size,
 so if there is any transit node in the path with a small segment size 
 things will not work as
 it will drop packets bigger than it''s size.
 
 The only SW/HW combination I knew of that has other than 576 is MRC/Stu 
 DECnet for
 Tops20 4.x on DEC2020.
 
 -P
 
 ------------------------------------------------------------------------
 
     *From: *"tommytimesharing" <tommytimesharing at gmail.com>
     *To: *"hecnet" <hecnet at Update.UU.SE>
     *Sent: *Monday, January 11, 2021 11:58:56 PM
     *Subject: *Re: [HECnet] Thousands of DECnet errors on Tops-20
 
     Yes, I had seen this and had wondered about it after I had reflected
     on the output of a SHOW EXECUTOR CHARACTERISTICS command(clipped)
 
         Executor Node = 2.520 (TOMMYT)
 
          ? Identification = Tommy Timesharing
          ? Management Version = 4.0.0
          ? CPU = DECSYSTEM1020
          ? Software Identification = Tops-20 7.1 PANDA
 
                 .
                 .
                 .
 
         Buffer Size = *576*
          ? Segment Buffer Size = *576*
 
     So it would appear that the 20's implementation of NICE knows of
     this differentiation.? I can parse for both SET EXECUTOR SEGMENT
     BUFFER SIZE and SET EXECUTOR BUFFER SIZE.? Both fail, of course;
     again, once DECnet is initialized, they are locked.
 
     However, when one looks at the DECnet initialization block (IBBLK),
     it only contains a field for buffer size (IBBSZ), nothing about
     segment size.? Further, the NODE% JSYS' set DECnet initialization
     parameters function (.NDPRM) only contains a sub-function for buffer
     size (.NDBSZ) and SETSPD will only parse for DECNET BUFFER-SIZE. 
     I'm hopeful to test that this weekend after I've looked further
     through the error log.
 
     The receive code in the low level NI driver (PHYKNI) only checks to
     see whether was was received will fit into the buffer specified.? It
     returns a length error (UNLER%) to DNADLL, but not the actual
     difference.
 
     I have yet to puzzle out how the segment size is derived, but it is
     apparently set on a line basis.
 
         ------------------------------------------------------------------------
         On 1/11/21 8:24 PM, Johnny Billquist wrote:
 
         Thomas, I wonder if you might experience the effects of that
         ethernet packet size might be different than the DECnet segment
         buffer size.
         This is a little hard to explain, as I don't have all the proper
         DECnet naming correct.
 
         But, based on RSX, there is two sizes relevant. One is the
         actual buffer size the line is using. The other is the DECnet
         segment buffer size.
 
         The DECnet segment buffer size is the maximum size of packets
         you can ever expect DECnet itself to ever use.
         However, at least with RSX, when it comes to the exchange of
         information at the line level, which includes things like hello
         messages, RSX is actually using a system buffer size setting,
         which might be very different from the DECnet segment buffer size.
 
         I found out that VMS have a problem here in that if the hello
         packets coming in are much larger than the DECnet segment buffer
         size, you never even get adjacency up, while RSX can deal with
         this just fine.
 
         It sounds like you might be seeing something similar in Tops-20.
         In which case you would need to tell the other end to reduce the
         size of these hello and routing information packets for Tops-20
         to be happy, or else find a way to accept larger packets.
 
         After all, ethernet packets can be up to 1500 bytes of payload.
 
         And to explain it a bit more from an RSX point of view. RSX will
         use the system buffer size when creating these hello messages.
         So, if that is set to 1500, you will get hello packets up to
         1500 bytes in size, which contain routing vectors and so on.
 
         But actual DECnet communication will be limited to what the
         DECnet segment buffer size say, so once you have adjacency up,
         when a connection is established between two programs, those
         packets will never be larger than the DECnet segment buffer
         size, which is commonly 576 bytes.
 
          ? Johnny
 
             ------------------------------------------------------------------------
             On 2021-01-11 23:43, Thomas DeBellis wrote:
 
             Paul,
 
             Lots of good information.? For right now, I did an
             experiment and? went into MDDT and stubbed out the XWD
             UNLER%,^D5 entry in the NIEVTB: table in the running monitor
             on VENTI2.? Since then (about an hour or so ago), TOMMYT 's
             ERROR.SYS file has been increasing as usual (a couple of
             pages an hour) while VENTI2's hasn't changed at all.? So
             that particular fire hose is plugged for the time being.
 
             I don't believe I have seen this particular error before,
             however, there are probably some great reasons for that.? In
             the 1980's, CCnet may not have had Level-2 routers on it
             while Columbia's 20's were online.? We did have a problem
             with the 20's complaining about long Ethernet frames from an
             early version BSD 4.2 that was being run on some VAX
             11/750's in the Computer Science department's research lab. 
             They got taught how to not do that and all was well.
 
             Tops-20's multinet implementation was first done at BBN and
             then later imported.? I am not sure that it will allow me to
             change the frame size.? 576 was what was used for the
             Internet, so I don't know where that might be hardwired. 
             I'll check.
 
             I think there are two forensics to perform here:
 
              ?1. Investigate when the errors started happening; whether
             they predate
              ??? Bob adopting PyDECnet
              ?2. Investigate what the size difference is; I don't
             believe that is
              ??? going into the error log, but I'll have to look more
             carefully with
              ??? SPEAR.
 
             A *warning* for anyone also looking to track this down: if
             you do the retrieve in SPEAR on KLH10 and you don't have
             have my time out changes for DTESRV, you will probably crash
             your 20. This will happen both with a standard DEC monitor
             and PANDA.
 
                 ------------------------------------------------------------------------
 
                 On 1/11/21 4:41 PM, Paul Koning wrote:
 
                     On Jan 11, 2021, at 4:22 PM, Thomas
                     DeBellis<tommytimesharing at gmail.com>
                     <mailto:tommytimesharing at gmail.com>? wrote:
 
                     OK, I guess that's probably a level 2 router
                     broadcast coming over the bridge.? There is no way
                     Tops-10 or Tops-20 could currently be generating
                     that because there is no code to do so; they're
                     level 1, only
 
                 Yes, unfortunately originally both multicasts used the
                 same address.? That was changed in Phase IV Plus, but
                 that still sends to the old address for backwards
                 compatibility and it isn't universally implemented.
 
                     I started looking at the error; it starts out in
                     DNADLL when it is detected on a frame that has come
                     back from NISRV (the Ethernet Interface driver). 
                     The error is then handed off to NTMAN where the
                     actual logging is done.? So, there are two quick
                     hacks to stop all the errors:
 
                      ????? I could stub out the length error entry (XWD
                     UNLER%,^D5) in the NIEVTB: table in DNADLL.MAC.
                      ????? I could put in a filter ($NOFIL) for event
                     class 5 in the NMXFIL: table in NTMAN.MAC.
 
                     That will stop the deluge for the moment. 
                     Meanwhile, I have to understand what's actually
                     being detected; even the full SPEAR entry is short
                     on details (like how long the frame was).
 
                 The thing to look for is the buffer size (frame size)
                 setting of the stations on the Ethernet.? It should
                 match; if not someone may send a frame small enough by
                 its settings but too large for someone else who has a
                 smaller value.? Routing messages tend to cause that
                 problem because they are variable length; the Phase IV
                 rules have the routers send them (the periodic ones) as
                 large as the line buffer size permits.
 
                 Note that DECnet by convention doesn't use the full max
                 Ethernet frame size in DECnet, because DECnet has no
                 fragmentation so the normal settings are chosen to make
                 for consistent NSP packet sizes throughout the
                 network.?? The router sending the problematic messages
                 is 2.1023 (not 63.whatever, Rob, remember that addresses
                 are little endian) which has its Ethernet buffer size
                 set to 591.? That matches the VMS conventional default
                 of 576 when accounting for the "long header" used on
                 Ethernet vs. the "short header" on point to point (DDCMP
                 etc.) links).? But VENTI2 has its block size set to
                 576.? If you change it to 591 it should start working.
 
                 Perhaps I should change PyDECnet to have a way to send
                 shorter than max routing messages.
 
                  ????paul
 
 
  
-- 
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