[comp.protocols.tcp-ip] IBM RT/AOS on Token Ring

CSYSMAS@OAC.UCLA.EDU (Michael Stein) (11/20/89)

Anyone using IBM's RT w/AOS (BSD based UNIX) on Token Ring?

I have an IBM RT (RISC processor) running IBM's AOS operating
system which is derived from BSD 4.3 UNIX.

The Token Ring interface code looses the last byte of an incoming
1500 byte IP packet (IP length of 1500) when the routing field is
long (6 entries).  This cause TCP checksum errors, which makes
FTP's fail.

It appears that the LAN interface routine is initializing
the receive DMA length to the sum of:

   MAC header length (maximum including max routing field)
   LLC header length (8)
   the interface MTU (1500 just like Ethernet)

Increasing this length by 3 seems to fix the above problem
(didn't try 1).

The above length (even +3) is still wrong as the ARP code sets
the "largest frame bits" to 010.  This "claims" that the RT/AOS
will accept token ring frames with up to 2052 bytes of data
(exclusive of the TR MAC fields including the routing fields).

This would allow an IP packet of up to 2052 - 8 bytes of IEEE/LLC
=> 2044.

So while it seems legal for the code to limit the size of the IP
packets it sends to the MTU of 1500, it should be able to receive
packets which are larger.

The DMA is going into a "page" MBUF buffer.  It's not clear that
it could hold 2044 bytes of data (so just increasing the receive
DMA length isn't a solution).

Changing the advertised Token Ring frame size to 1500 (the next
smaller size) doesn't sound like a good idea as that would
require 1500 byte IP packets routed from an Ethernet to be
fragmented (because of the LLC header on Token Ring).

I'd like to know the following:

1.  Why does the original code seem to have the correct DMA
    length for 1500 bytes packets, but in reality is one short?

2.  Does the receive code need to be able to handle 2044 byte
    IP packets (2052 byte frames)?  If so, does anyone have
    any suggestions (the page buffers my be only 2048 bytes
    long).

3.  Any other comments?

brunner@ibmpa.UUCP (MH 6.6, Eric Brunner) (11/21/89)

Michael,

I'm maintaining IBM's 4.3 release for the RT (actually the 6150, 6151,
and 6152) platform. This looks like an APAR (real bug in the local lexicon)
that I'd like to see and fix. Lets take this out of the tcp-ip list and
work on it via email.

BTW list co-readers, if you've IBM workstations running IBM/4.3 (aka "AOS",
and "ACIS"), and you've a problem that either dosen't seem to make its way
through the system, or if your site somehow dropped out of contact, drop
me a note - you're not alone!

Some 20 fixes have been posted to comp.sys.ibm.pc.rt, and an archive is
available for anonymous ftp on bikini.cis.ufl.edu [128.227.224.1].


Eric Brunner, Consultant, IBM AWD Palo Alto	(415) 855-4486
inet: brunner@monet.berkeley.edu
uucp: uunet!ibmsupt!brunner