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.