[comp.dcom.sys.cisco] AppleTalk routing on AGS/2

rlinton@tcs.com (Richard Linton) (08/08/90)

This is a follow up on my AppleTalk routing problem.  Thanks for
those who took the time to help.  It seems that I am indeed routing
EtherTalk with no problems.  The actual problem is in the way that
the AGS/2 sources RTMP packets.  The DDP packet type field is
incorrectly set to type 2, with in the AppleTalk Phase 1 spec is
a NBP packet.  Because of this, some of my Suns running Mt. Xinu
KAShare are unable to see the world, as they are looking specifically
for an RTMP packet with the correct DDP packet type.  

The GatorBox is able to see both on the subnet it resides on, but
it's providing the correct RTMP packets.

Here's a sample of the packet contents using a Sun 4/60 running
SunOS 4.0.3 and the command "etherfind -x -apple";

-----

lnth proto	source		destination	src port	dst port
  65  AppleTalk 0:0:89:0:9:54 -> broadcast
ff ff ff ff ff ff 00 00 89 00 09 54 80 9b ff 81
01 00 30 01 01 01 00 29 08 81 00 29 00 00 0b 01
00 48 02 00 0c 01 00 0a 01 00 47 02 00 2c 01 00
1f 02 00 51 02 00 2d 00 86 29 00 00 2b 01 00 2a 
01


The above is the RTMP packet sourced by a GatorBox.  Note that the
first byte on line two is the DDP packet type field.  A 1 denotes
a RTMP packet, a 2 will denote a NBP packet.  Next, a RTMP packet
sourced by the AGS/2;

-----

lnth proto	source		destination	src port	dst port
  65  AppleTalk 0:0:c:0:35:79 -> broadcast
ff ff ff ff ff ff 00 00 0c 00 35 79 80 9b ff 80
02 00 2f 53 83 00 29 00 29 ff 80 01 01 01 00 29
08 80 00 0a 00 00 0b 00 00 0c 00 00 1f 01 00 2a
00 00 2b 00 00 2c 00 00 47 01 00 48 01 00 51 01


------

This bug exists in the current AGS/2 software version 8.1(14),
and 8.0(13) and 8.0(9).

-richard




================================ Address ===============================
Richard Linton, 		
Information Systems Manager	Teknekron Communications Systems
	415/649-3875		2121 Allston Way, Berkeley, CA 94704
uucp	: uunet!tcs!rlinton or  rlinton@tcs.com
internet: "some day over the rainbow..."

hedrick@athos.rutgers.edu (Charles Hedrick) (08/08/90)

Sorry, you're misreading the packet format.  The first byte on the
second line is part of the low level encapsulation.  It indicates
whether the packet is "long" or "short" format.  For traffic between
two hosts on the same network, either one is valid.  Long is type 2,
short is type 1.  The actual DDP packet begins in the next byte.  You
have to look further down on the line to find the socket number.  I
don't have Inside Appletalk here, but I'm pretty sure the three
successive 01's indicate that it's socket 1 in both cases.  They
appear near the beginning of the second line in the first example, and
near the end in the second case.  That's because the first case is
short form and the second case is long form.