Subject: [netatalk-admins] [Fwd: tulip multicast and netatalk?]

From: Jeff Wiegley <[email-masked]>
Date: Mon, 03 Nov 1997 14:35:36 -0800

Well Donald seemd to indicate that the problem is with Netatalk so I
figured I pass along his ideas so that somebody more familiar with
the inner workings of netatalk could help confirm or deny his
opinions so that I can get to the bottom of my problems.

- Jeff Wiegley

Subject: Re: tulip multicast and netatalk?
From: Donald Becker <[email-masked]>
To: Jeff Wiegley <[email-masked]>
Cc: [email-masked]
Date: Mon, 3 Nov 1997 14:37:30 -0500 (EST)

On Mon, 3 Nov 1997, Jeff Wiegley wrote:

> Subject: tulip multicast and netatalk?
> 
> Just having a little prroblem with netatalk and the netatalk people
> indicate that it is a tulip driver problem.

Every single Linux driver that uses a multicast filter (as opposed to
Rx-all-multicast when any multicast packets are desired) seems to be having
a problem with netatalk.

Since they all use different multicast filter schemes, I'm starting to think
it's a problem with netatalk, not a problem with my drivers.

> I asked the question on the netatalk mailing list about why this is
> so and received this reply...
> 
> > The caveat (for the DEC tulip based cards) is that the driver has 
> > difficulties with multicast. Upgrade to a newer kernel, and/or upgrade 
> > the tulip driver explicitly. Or you could force the card into promiscuous 
> > mode (not ideal or recommended, but it works). It's not that bad.

Ask them about the EEPro100 driver then... it seems to have problems with
multicast as well.  And it computes the multicast filter internally, so the
driver could only pass a corrupt multicast address list.

> Is this true? how do I fix it?  I am using the
> 
>      "tulip.c:v0.83 10/19/97 [email-masked]"
> 
> driver version with kernel version 2.0.29+ISS patch.
> 
> Other than that I can't quite figure out how to get promiscuous mode
> enabled and I can't figure out why this would be good/bad.

A patch is to always turn on the Rx-all-multicast flag:

In set_multicast_list():

	printk(KERN_INFO "%s: Promiscuous mode enabled.\n", dev->name);
		tp->csr6 |= 0xC0;
-	} else if ((dev->mc_count > 1000)  ||  (dev->flags & IFF_ALLMULTI)) {
+	} else if ((dev->mc_count > 0)  ||  (dev->flags & IFF_ALLMULTI)) {
		/* Too many to filter perfectly -- accept all multicasts. */
		outl(csr6 | 0x0080, ioaddr + CSR6);

This is evil, and wastes the *excellent* multicast filter of the Tulip, but..

Donald Becker					  [email-masked]
USRA-CESDIS, Center of Excellence in Space Data and Information Sciences.
Code 930.5, Goddard Space Flight Center,  Greenbelt, MD.  20771
301-286-0882	     http://cesdis.gsfc.nasa.gov/pub/people/becker/whoiam.html

---

From: "Robert O'Kane" <[email-masked]>
Date: Tue, 04 Nov 1997 02:52:30 +0100

Greetings,
    I currently use:

10/100Mb Kingston Card
Linux-2.0.30pre10
Tulip .083 driver
Netatalk 1.4B + ASUN 17 (tcp) patches

no problems.. (10 and 100Mb mode)

I will try the 100Mb Full Duplex mode as soon as I
figure out how to switch our 3Com Switch ;-)

And to see if your in promiscuous mode, look at the output
from ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:C0:F0:16:69:EC
          inet addr:192.168.21.21  Bcast:192.168.21.255 
Mask:255.255.255.0
          EtherTalk Phase 2 addr:65280/44
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2383664 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1624682 errors:0 dropped:0 overruns:0 carrier:0
coll:1054
          Interrupt:9 Base address:0xe880 

I beleive the MULTICAST  means the card (or this interface) is in
promiscuous mode.

As for your zone problem....

  Netatalk re-writes the '/usr/local/atalk/etc/atalkd.conf' each
time it finishes 'negotiating' (sorry for the spelling, its late now...)
See / send that to the list also. This has ALOT to do with how the netatalk
is seeing your network.
I also get the timeout 'notification' on my network but thats because
I /we don't use zones here... maybe your apple routers are not correct.(?)

Lets, see ;-)

Hope that helps....

Bob.

-- 
----------------------------------------------
Unfortunatly, I find language (like politics) necessary for humans.
Leider finde Ich Sprache (wie Politik) fuer die Menschen notwendig.
----------------------------------------------
Robert O'Kane
Kunstlergruppe OTHERSPACE
Founding Member and Linker

URL  : http://www.rz.uni-frankfurt.de/~okane
email: [email-masked]
----------------------------------------------

---

From: Geoff Ghose <[email-masked]>
Date: Tue, 04 Nov 1997 09:41:28 -0600

> no problems.. (10 and 100Mb mode)

Well, with a EEPRO100, I'm still having problems.

Linux-2.0.30
Netatalk 1.4B + asun 17
eepro100 v0.35 10/11/97

ifconfig:
eth0      Link encap:10Mbps Ethernet  HWaddr 00:A0:C9:60:4A:7B
          inet addr:128.249.25.177  Bcast:128.249.25.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:172759 errors:0 dropped:0 overruns:0
          TX packets:53637 errors:0 dropped:0 overruns:0
          Interrupt:15 Base address:0xff20

I still get nbprgstr errors after updating to latest eepro100 driver:

nbp_rgstr: Connection timed out
Can't register focus:Workstation@*

2 Notes:  1) At least with the old driver, atalkd was causing broadcast storms
which
really pissed off every in our department.
        2) TCP based AppleShare works beautifully.
--
*************************************************************************
        Geoff Ghose
        Div. of Neuroscience            One Baylor Plaza S603
        Baylor College of Medicine      Houston, TX 77030
        (713) 798-3277                  Fax:(713) 798-3282

        Internet:  [email-masked]
                           [email-masked]
         http://focus.neusc.bcm.tmc.edu/~geoff

        PGP key: http://focus.neusc.bcm.tmc.edu/~geoff/pub-pgp-key

        And what is more, I agree with everything I have just said.
   - Piet Koornhoff

---

From: [email-masked]
Date: Tue, 04 Nov 1997 13:35:47 -0500

> From:    Geoff Ghose <[email-masked]>
> To:      [email-masked]

> Can't register focus:Workstation@*

This is unlikely to have anything to do with your ethernet driver.
There's a brief exchange between nbprgstr and atalkd, where nbprgstr
requests that atalkd register a name, and atalkd sends back an ack.
What do you find in your syslog?

:wes