lkml.org 
[lkml]   [1998]   [Jan]   [5]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectARCnet multicast support (for PROMISC-capable , i.e. COM20020 cards).
DateMon, 05 Jan 1998 17:15:30 +0000
FromDavid 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.
\
 
 \ /
  Last update: 2005-03-22 12:41    [W:0.152 / U:0.250 seconds]
©2003-2008 Jasper Spaans