Date: Thu, 7 Dec 1995 15:38:13 +0000 (GMT) From: Paul Richards <p.richards@elsevier.co.uk> To: luigi@labinfo.iet.unipi.it (Luigi Rizzo) Cc: hackers@freebsd.org, paul@freefall.FreeBSD.org Subject: Re: if_lnc and multicast Message-ID: <199512071538.PAA10400@cadair.elsevier.co.uk> In-Reply-To: <199512071204.NAA19486@labinfo.iet.unipi.it> from "Luigi Rizzo" at Dec 7, 95 01:04:00 pm
next in thread | previous in thread | raw e-mail | index | archive | help
In reply to Luigi Rizzo who said > > All the hooks seem to be there, the only missing bit of information is > how to compute the bit to be set in the multicast mask (ladrf[]) > from within lnc_setladrf() Yeah, that's all that's missing. > A quick hack could be to set the if to receive all multicasts when > sc->arpcom.ac_multicnt>0 (i.e. at least one address is in use). > However, this is undesirable for performance reasons; moreover, as > soon as the default multicast route is added (224.0.0.0), the > counter bumps to 1 and thus would effectively cause the interface > to be in promiscuous mode. Nah. Only needs about 10 lines written to do it right. > > Do you have access to the docs of the LANCE chip, which should report > the hashing algorithm used in the chip ? > I have but they're home and I'm away during the week. I can look it up at the weekend, though if I do that I might finish the job myself :-) In the meantime, look at Matt's if_le.c driver (le_multi_op) which does the same thing since the Depca is Lance based. The coding style is a little different but you can see the algorithm used to create the mask. Let me know if you finish this off. -- Paul Richards. Originative Solutions Ltd. Internet: paul@netcraft.co.uk, http://www.netcraft.co.uk Phone: 0370 462071 (Mobile), +44 1225 447500 (work)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512071538.PAA10400>