From owner-freebsd-hackers Thu Dec 7 07:43:32 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id HAA21617 for hackers-outgoing; Thu, 7 Dec 1995 07:43:32 -0800 (PST) Received: from skiddaw.elsevier.co.uk (skiddaw.elsevier.co.uk [193.131.222.60]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id HAA21612 for ; Thu, 7 Dec 1995 07:43:26 -0800 (PST) Received: from snowdon.elsevier.co.uk (snowdon.elsevier.co.uk [193.131.197.164]) by skiddaw.elsevier.co.uk (8.6.12/8.6.12) with ESMTP id PAA04833; Thu, 7 Dec 1995 15:41:35 GMT Received: from cadair.elsevier.co.uk (actually host cadair) by snowdon with SMTP (PP); Thu, 7 Dec 1995 15:37:59 +0000 Received: (from dpr@localhost) by cadair.elsevier.co.uk (8.6.12/8.6.12) id PAA10400; Thu, 7 Dec 1995 15:38:13 GMT From: Paul Richards Message-Id: <199512071538.PAA10400@cadair.elsevier.co.uk> Subject: Re: if_lnc and multicast To: luigi@labinfo.iet.unipi.it (Luigi Rizzo) Date: Thu, 7 Dec 1995 15:38:13 +0000 (GMT) Cc: hackers@freebsd.org, paul@freefall.FreeBSD.org In-Reply-To: <199512071204.NAA19486@labinfo.iet.unipi.it> from "Luigi Rizzo" at Dec 7, 95 01:04:00 pm X-Mailer: ELM [version 2.4 PL24] Content-Type: text Sender: owner-hackers@freebsd.org Precedence: bulk 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)