[net.unix-wizards] LH/DH-11 and IMP padding

art@ACC.ARPA (10/25/85)

I reviewed the 1822 spec regarding IMP message lengths and relearned some
interesting information.  The IMP was originally designed to deal with
three different machine word lengths (source machine, IMP and destination
machine).  This involves a padding scheme which adds padding as a message
goes from src->IMP and also IMP->dst.  The IMP ALWAYS appends a 1 to the
message and zero pads to the end of an IMP word (16 bits).  For machines
with an LH/DH-11 (PDP-11 or VAX) this causes the destination host to receive
16 bits more than the original message length (plus any padding the destination
host interface might have to add).  The maximum message size that an IMP
will send to a host is 8160 bits (1020 bytes).  The BSD 4.2 driver CORRECTLY
limits the messages sent to the IMP to 1018 bytes, but INCORRECTLY uses a
1018 byte buffer to receive into.  If the LH/DH-11 is healthy, the driver
logic does deal with this situation, but with unneccessary interrupt overhead
(to start a bunch of 2 byte reads).  If the LH/DH-11 occasionally drops the
EOM when DMA is restarted, messages would get concatonated, with the second
(or both) messages being ignored.  We will attempt to cause this failure
in the lab, but recommend that LH/DH-11 drivers read into at least an
1020 byte buffer.
					"Art Berggreen"<Art@ACC.ARPA>

------

MILLS@USC-ISID.ARPA (10/26/85)

In response to the message sent  25 Oct 85 12:41:00 PDT from  <art@acc.arpa>

Art,

Every year some poor dude relearns about IMP padding and sends a message like
yours and reminds the rest of us. This year it was you. Don't feel bad, a couple
of years ago it was me. Those who forget the lessons of history are bound to
repeat them. Or something like that.

Dave
-------