changeset 900:370be9d42783

* src/syntheth.c (synth_eth_init): Set the flag IFF_ALLMULTI when the underlying device supports multicast so eth_drv correctly sets mutlicast filtering.
author asl
date Thu, 03 Apr 2003 15:55:33 +0000
parents 17dd6922881b
children b7a9c0130fa1
files packages/devs/eth/synth/ecosynth/current/ChangeLog packages/devs/eth/synth/ecosynth/current/src/syntheth.c
diffstat 2 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/eth/synth/ecosynth/current/ChangeLog
+++ b/packages/devs/eth/synth/ecosynth/current/ChangeLog
@@ -1,7 +1,8 @@
 2003-04-01  Andrew Lunn  <andrew.lunn@ascom.ch>
 
-	* src/syntheth.c (synth_eth_init): Set the flag IFF_ALLMULTI so
-	eth_drv correctly sets mutlicast filtering.
+	* src/syntheth.c (synth_eth_init): Set the flag IFF_ALLMULTI when
+	the underlying device supports multicast so eth_drv correctly sets
+	mutlicast filtering.  
 	* cdl/syntheth.cdl: This driver implements multicast.
 
 2003-02-25  Jonathan Larmour  <jifl@eCosCentric.com>
--- a/packages/devs/eth/synth/ecosynth/current/src/syntheth.c
+++ b/packages/devs/eth/synth/ecosynth/current/src/syntheth.c
@@ -453,7 +453,9 @@ synth_eth_init(struct cyg_netdevtab_entr
     (*sc->funs->eth_drv->init)(sc, eth->MAC);
 
 #ifdef CYGPKG_NET
-    sc->sc_arpcom.ac_if.if_flags |= IFF_ALLMULTI;
+    if (eth->multi_supported) {
+      sc->sc_arpcom.ac_if.if_flags |= IFF_ALLMULTI;
+    }
 #endif    
     return result;
 }