Subject: [netatalk-admins] bugs/routing problems with asun-pre2.1.4

From: Rob Newberry <[email-masked]>
Date: Sun, 14 Mar 1999 21:06:20 -0500 (EST)

I've been running plain 1.4b2 for a while on one machine, but finally
decided to upgrade.  It's turning out to be a real pain.

This machine is running Linux 2.0.35 + Jay's AppleTalk patches, which
backport some/most of the 2.1.x code.  The reason I need this is for
routing between a LocalTalk and an EtherTalk interface.

Now, EXCEPT for the "SO_BROADCAST" kernel warning, 1.4b2 was working fine.
I had really thought upgrading "atalkd" would be easy.  Why has "atalkd"
changed so much?

Anyway, while digging, I DID find one bug.  In "rtmp_config", there's a
warning message which tells you a problem has been detected, but the
warning message is wrong.

    if ( rh->rh_net != iface->i_addr.sat_addr.s_net ) {
        if (( iface->i_flags & IFACE_SEED ) &&
                rh->rh_net != iface->i_caddr.sat_addr.s_net) {
            syslog( LOG_ERR, "rtmp_config net mismatch %u != %u",
                    ntohs( rh->rh_net ),
                    ntohs( iface->i_addr.sat_addr.s_net ));
            return -1;

Anyone see it?  We compare against "iface->i_caddr", but the then we log
"iface->i_addr".  The fix is REALLY simple; but I of course didn't find
the bug until I was already trying to figure out why i_caddr was set to 0!
Just change the iface->i_addr in the syslog call to iface->i_caddr, and
it's better.

HOWEVER, that still doesn't fix my problem.  Fixing the log message didn't
change the fact that the routine was failing.  So, anyway, for some
reason, this routine is being called, and rh->rh_net is "200", but
iface->i_caddr is "100".

Now, this MIGHT make sense.  I have two interfaces, and "200" and "100"
are  on them.  Here's my atalkd.conf:

	eth0 -seed -phase 2 -net 200 -addr 200.20 -zone "EtherTalk"
	lt0 -seed -phase 1 -net 100 -addr 100.10 -zone "LocalTalk"

Now, again, this config works fine with plain jane 1.4b2.  Anyone have any
idea why it doesn't work with asun-pre2.1.4?

Rob