Messages in this thread Patch in this message | | | Subject | ARCnet multicast support (for PROMISC-capable , i.e. COM20020 cards). | Date | Mon, 05 Jan 1998 17:15:30 +0000 | From | David Woodhouse <> |
| |
I was just looking through some networking documentation, and noticed that ARCnet was listed as not supporting multicast at all. Here's a completely untested fix, as I don't have access to such cards any more. It's so simple that if I've screwed it up I should probably go shoot myself anyway :)
--- linux/drivers/net/com20020.c.prearcmulti Sat Nov 29 18:33:19 1997 +++ linux/drivers/net/com20020.c Mon Jan 5 17:07:41 1998 @@ -1,4 +1,4 @@ -/* $Id: com20020.c,v 1.6 1997/11/09 11:04:58 mj Exp $ +/* $Id: com20020.c,v 1.2 1998/01/05 17:07:41 dwmw2 Exp $ Written 1997 by David Woodhouse <dwmw2@cam.ac.uk> @@ -215,7 +215,7 @@ static const char *version = - "com20020.c: v3.00 97/11/09 Avery Pennarun <apenwarr@bond.net> et al.\n"; + "com20020.c: v3.01 97/11/09 Avery Pennarun <apenwarr@bond.net> et al.\n"; /**************************************************************************** * * @@ -516,7 +516,6 @@ * num_addrs == 0 Normal mode, clear multicast list * num_addrs > 0 Multicast mode, receive normal and MC packets, and do * best-effort filtering. - * FIX ME - do multicast stuff, not just promiscuous. */ static void arc20020_set_mc_list(struct device *dev) @@ -524,8 +523,11 @@ struct arcnet_local *lp=dev->priv; int ioaddr=dev->base_addr; - if ((dev->flags & IFF_PROMISC) && (dev->flags & IFF_UP)) + if (((dev->mc_count) || dev->flags & (IFF_PROMISC | IFF_ALLMULTI)) && + (dev->flags & IFF_UP)) { /* Enable promiscuous mode */ + dev->flags |= IFF_PROMISC; + if (!(lp->setup & PROMISCflag)) BUGMSG(D_NORMAL, "Setting promiscuous flag...\n"); REGSETUP; --- linux/Documentation/networking/multicast.txt.prearcmulti Mon Jan 5 16:47:45 1998 +++ linux/Documentation/networking/multicast.txt Mon Jan 5 17:04:05 1998 @@ -22,7 +22,9 @@ 3c59x YES YES YES Software ac3200 YES YES YES Hardware apricot YES PROMISC YES Hardware -arcnet NO NO NO N/A +arcnet: + 90xx chipset NO NO NO N/A + 2002x chipset PROMISC PROMISC YES Software at1700 PROMISC PROMISC YES Software atp PROMISC PROMISC YES Software cs89x0 YES YES YES Software---- ---- ---- David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355 dwmw2@cam.ac.uk http://dwmw2.robinson.cam.ac.uk finger pgp@dwmw2.robinson.cam.ac.uk for PGP key.
| |