Subject: [netatalk-admins] NBP-Forward handling broken ?

From: Michael Zuelsdorff <[email-masked]>
Date: Tue, 3 Nov 1998 00:58:01 +0100 (MET)

Hi atalk gurus,

for some time I´m running a routed net on Linux-2.0.35, 
with the latest netatalk + asuns patches.

          Zone_1               Zone_2
...Mac1 ......... eth0  eth1 .......... Mac2
                    Linux
	
----------------------------------------------------------	
With:			      
eth0 -seed -phase 2 -net 10-19 -addr 10.150 -zone "Zone_1"
eth1 -seed -phase 2 -net 20-29 -addr 20.150 -zone "Zone_2"

nbplkup and interpoll on both Macs tell me:
Linux is registered in Zone_1 but with address 20.150
----------------------------------------------------------
With:
eth1 -seed -phase 2 -net 20-29 -addr 20.150 -zone "Zone_2"
eth0 -seed -phase 2 -net 10-19 -addr 10.150 -zone "Zone_1"

nbplkup and interpoll on both Macs tell me:
Linux is registered in Zone_2 but with address 10.150
---------------------------------------------------------- 

The only way I found to have 2 zones with Linux registering
in Zone_1 _AND_ address 10.150 is:

eth1 -seed -phase 2 -net 20-29 -addr 20.150 -zone "Zone_1" -zone "Zone_2"
eth0 -seed -phase 2 -net 10-19 -addr 10.150 -zone "Zone_1" -zone "Zone_2"

Is this correct ?
-------------------------------------------------------------------------
ifconfig gives:
eth0      Link encap:10Mbps Ethernet  HWaddr 00:00:C0:04:09:5C
          inet addr:192.168.100.84  Bcast:192.168.100.95  Mask:255.255.255.224
	  EtherTalk Phase 2 addr:10/150
	  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
...
eth1      Link encap:10Mbps Ethernet  HWaddr 00:00:C0:E4:0E:BF
          inet addr:192.168.100.33  Bcast:192.168.100.63  Mask:255.255.255.224
	  EtherTalk Phase 2 addr:20/150
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
...
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
	  EtherTalk Phase 2 addr:0/0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
--------------------------------------------------------------------------

Well, since the Macs can see each other and there were no other problems,
I didn´t bother too much.
Until I added a Helios EtherShare server to Zone_2. It seems to get
the correct seeding, as it shows up with 20.184 in Zone_2 and is
reachable from both Macs, BUT:

running "vpoll" (kind of nbplkup) just gives me the Linux router,
and EtherShare -- both Macs are hidden!

So what´s the difference between interpoll, nbplkup and vpoll ?
With a network trace utility I found it:
EtherShare is sending NBP_FWD requests to 10.0 and 20.0 but netatalk
is not able to handle these requests. Actually there´s some code in
nbp.c of atalkd but these NBP-Forwards do not reach atalkd at all!
The packets get swallowed in ddp.c of the kernel.

I gave it a try and changed ddp.c to handle incoming packets
with node == 0 && net != 0 like "normal" packets addressed to
node 150 (the router). This at least leads to NBP-FWD packets
arriving in atalkd and showing up the Mac in Zone_1. But urrrgh,
it´s ugly hardcoded and my true love is customizing electric guitars...
No, think I better leave it to you. :_)
                                    
Michael				    

  _~_  (?)
 (o o)'
-- V -^ -----------------------------------------------------------------------
   .  N  .                             (!)              Michael   Zuelsdorff
    \ i /           I don't like LINUX -  ' ^ ^         Gruene  Riede  5    
  '. \u/ .'              I love it         (o o)        31311  Dollbergen   
    '>X<'                                  / v \        +49 517-792-2113
--- " L " --------------------------------//8'8\\------ [email-masked] --