Subject: Re: NetBSD/i386 and netatalk
To: Manuel Bouyer <bouyer@antioche.lip6.fr>
From: Dr. Bill Studenmund <wrstuden@loki.stanford.edu>
List: tech-net
Date: 06/25/1998 10:28:25
On Thu, 25 Jun 1998, Manuel Bouyer wrote:

> [ Please followup-to tech-net@netbsd.org ]
> 
> Hi,
> I'm trying to get netatalk running on my NetBSD-1.3.2/i386 system.
> I've compiled the netatalk from ftp.netbsd.org:/pub/NetBSD/misc/netatalk
> and installed it. It starts fine, but it will not be seen by macs
> on appletalk, connected to the ethernet via a shiva fastpath (I don't
> have a mac with an ethernet board to test).
> Now here's what makes me wonder:
> on the i386 box (garfield) I can see:
> garfield:/comptes/bouyer>ifconfig -a
> de0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         address: 00:40:95:49:0b:b5
> 	media: autoselect (10baseT/UTP) status: active
> 	inet 132.227.61.13 netmask 0xffffff00 broadcast 132.227.61.255
> 	atalk 34087.125 range 34080-34089 phase 2 broadcast 34087.125
> lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 32976
> 	inet 127.0.0.1 netmask 0xff000000 
> 	atalk 0.0 range 0-0 phase 2
> garfield:/comptes/bouyer>netstat -f atalk
> Active ATALK connections
> Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
> ddp        0      0  34087.125.128          *.*.*                 
> ddp        0      0  34087.125.1            *.*.*                 
> ddp        0      0  34087.125.2            *.*.*                 
> ddp        0      0  34087.125.4            *.*.*                 
> ddp        0      0  34087.125.6            *.*.*                 
> ddp        0      0  *.*.1                  *.*.*                 
> ddp        0      0  *.*.2                  *.*.*                 
> ddp        0      0  *.*.4                  *.*.*                 
> ddp        0      0  *.*.6                  *.*.*                 
> 
> But on a Sun/SunOS4(hera, "SUNs_Reseaux&Performances") running CAP on the same
> ethernet:
> hera:/usr/servers/cap/bin>./atlook
> abInit: [ddp: 133.32, 252] starting
> Looking for =:=@Info LIP6 RP (P6) ...
>   1 - GODOT:AFPServer@*                        [Net:133.32  Node: 63 Skt:136]
>   2 - SUNs_Reseaux&Performances:AFPServer@Info LIP6 RP (P6) [Net:133.32  Node:252 Skt:130]
>   3 - garfield:AFPServer@*                     [Net:133.39  Node:125 Skt:128]
>   4 - GODOT:DceDspRpc DynEpt 4f.2@*            [Net:133.32  Node: 63 Skt:130]
>   5 - GODOT:DceDspRpc Endpoint Mapper@*        [Net:133.32  Node: 63 Skt:132]
>   6 - Gai-luron:HP Zoner Responder@Info LIP6 RP (P6) [Net:133.32  Node:128 Skt:155]
>   7 - Milou:HP Zoner Responder@Info LIP6 RP (P6) [Net:133.32  Node:129 Skt:155]
>   8 - Gai-luron:LaserJet 4 Plus@Info LIP6 RP (P6) [Net:133.32  Node:128 Skt:158]
>   9 - Milou:LaserJet 4 Plus@Info LIP6 RP (P6)  [Net:133.32  Node:129 Skt:158]
>  10 - Alouette:LaserWriter@*                   [Net:133.32  Node: 63 Skt:135]
>  11 - Gai-luron:LaserWriter@Info LIP6 RP (P6)  [Net:133.32  Node:128 Skt:157]
>  12 - Milou:LaserWriter@Info LIP6 RP (P6)      [Net:133.32  Node:129 Skt:157]
>  13 - CpqNF31@GODOT:Microsoft\250 Windows NT\252 Prt 4.00@* [Net:133.40  Node: 48 Skt:  2]
>  14 - Gai-luron:SNMP Agent@Info LIP6 RP (P6)   [Net:133.32  Node:128 Skt:  8]
>  15 - Milou:SNMP Agent@Info LIP6 RP (P6)       [Net:133.32  Node:129 Skt:  8]
>  16 - hera-le1:UAR@Info LIP6 RP (P6)           [Net:133.32  Node:253 Skt:  4]
>  17 - garfield:netatalk@*                      [Net:133.39  Node:125 Skt:  4]
> 
> 
> Note that the net adresses are not the same, and ntohs(133) = 34048.
> So I wonder if there is a problem somewhere - a missing ntohs() somewhere.
> Maybe it's just in ifconfig and netstat, so this would not prevent it
> from working.

133.32 or 133.39 are network numbers, or 133*256+32 = 34080 & 133*256+39 =
34087. So the network numbers are fine.

> nbplkup works on the PC:
> garfield#/comptes/bouyer>/usr/local/atalk/bin/nbplkup 
>                        garfield:AFPServer                          34087.125:128
>                        garfield:netatalk                           34087.125:4
>                        garfield:Workstation                        34087.125:4
>                           GODOT:AFPServer                          34080.63:136
>                           GODOT:DceDspRpc DynEpt 4f.2              34080.63:130
>                           GODOT:DceDspRpc Endpoint Mapper          34080.63:132
>                        Alouette:LaserWriter                        34080.63:135
>                   CpqNF31@GODOT:Microsoft( Windows NT* Prt 4.00    34088.48:2
>                        hera-le1:UAR                                34080.253:4
>       SUNs_Reseaux&Performances:AFPServer                          34080.252:130
>                           Milou:SNMP Agent                         34080.129:8
>                           Milou:HP Zoner Responder                 34080.129:155
>                           Milou:LaserWriter                        34080.129:157
>                           Milou:LaserJet 4 Plus                    34080.129:158
>                       Gai-luron:SNMP Agent                         34080.128:8
>                       Gai-luron:HP Zoner Responder                 34080.128:155
>                       Gai-luron:LaserWriter                        34080.128:157
>                       Gai-luron:LaserJet 4 Plus                    34080.128:158
> 
> 
> The sun can see my i386, and my i386 can see the sun (with nbplkup) as
> well as the ethertalk printers. But I can't see anything not on the local zone.
> Also getzones doesn't show me all the zones (whereas the sun does).
> 
> Also the /var/log/messages doesn't look good (appended at the end).
> 
> I also tried starting atalkd in phase 1 (atalkd -1) but it complains:
> garfield#/comptes/bouyer>sh /usr/local/atalk/etc/rc.atalk 
> starting appletalk daemons:AppleTalk not up! Child exited with 1.
> 
> Does someone have an idea of what's going wrong ?

Nope.

You might be running into the problem that FreeBSD fixed with some
patches to 2.2.5 (which I don't fully understand).

I think the problem's that the routes aren't getting built to the fast
path correctly.

> Jun 25 19:01:02 garfield atalkd[258]: restart (1.4b2)
> Jun 25 19:01:04 garfield atalkd[258]: zip_getnetinfo for de0
> Jun 25 19:01:04 garfield atalkd[258]: zip gnireply from 34080.253 (de0 12)
> Jun 25 19:01:04 garfield atalkd[258]: zip_packet configured de0 from 34080.253
> Jun 25 19:01:04 garfield atalkd[258]: zip gnireply from 34080.251 (de0 b2)
> Jun 25 19:01:04 garfield atalkd[258]: zip ignoring gnireply
> Jun 25 19:01:04 garfield atalkd[258]: zip gnireply from 34082.3 (de0 b2)
> Jun 25 19:01:04 garfield atalkd[258]: zip ignoring gnireply
> Jun 25 19:01:04 garfield atalkd[258]: zip gnireply from 34080.146 (de0 b2)
> Jun 25 19:01:04 garfield atalkd[258]: zip ignoring gnireply
> Jun 25 19:01:05 garfield atalkd[258]: rtmp_packet gateway 34080.253 up
> Jun 25 19:01:11 garfield atalkd[258]: rtmp_packet gateway 34080.146 up
> Jun 25 19:01:11 garfield atalkd[258]: route: 34007 -> 34080.146: Network is unreachable
> Jun 25 19:01:12 garfield atalkd[258]: route: 34008 -> 34080.146: Network is unreachable
Weird. These should have gone through. I bet nets 34007 and 34008 are
where the fastpath lives.

Hmm. Looks like I need to learn even more about atalkd. :-(

Take care,

Bill