<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-03-28)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-03-29 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * shared/lpc/network/lpc-ethernet.c: Support multicast.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/ChangeLog.diff?r1=text&tr1=1.90&r2=text&tr2=1.91&diff_format=h">M</a></td><td width='1%'>1.91</td><td width='100%'>c/src/lib/libbsp/arm/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/ChangeLog:1.90 rtems/c/src/lib/libbsp/arm/ChangeLog:1.91
--- rtems/c/src/lib/libbsp/arm/ChangeLog:1.90   Mon Mar 28 03:49:58 2011
+++ rtems/c/src/lib/libbsp/arm/ChangeLog        Mon Mar 28 07:27:29 2011
</font><font color='#997700'>@@ -4,6 +4,7 @@
</font>   bsp_reset().
        * shared/startup/linkcmds.base: Move unsupported sections into
        read-only section.  Changed barrier sections.
<font color='#000088'>+   * shared/lpc/network/lpc-ethernet.c: Support multicast.
</font> 
 2011-02-11     Ralf Corsépius <ralf.corsepius@rtems.org>
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c:1.4 rtems/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c:1.5
--- rtems/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c:1.4    Thu Dec 16 07:35:26 2010
+++ rtems/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c        Mon Mar 28 07:27:29 2011
</font><font color='#997700'>@@ -7,12 +7,13 @@
</font>  */
 
 /*
<font color='#880000'>- * Copyright (c) 2009
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * D-82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
</font><font color='#000088'>+ * Copyright (c) 2009-2011 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
</font>  *
  * The license and distribution terms for this file may be
  * found in the file LICENSE in this distribution or at
<font color='#997700'>@@ -354,12 +355,12 @@
</font> static void lpc_eth_enable_promiscous_mode(bool enable)
 {
   if (enable) {
<font color='#880000'>-    lpc_eth->rxfilterctrl = ETH_RX_FIL_CTRL_ACCEPT_PERFECT
-      | ETH_RX_FIL_CTRL_ACCEPT_UNICAST
</font><font color='#000088'>+    lpc_eth->rxfilterctrl = ETH_RX_FIL_CTRL_ACCEPT_UNICAST
</font>       | ETH_RX_FIL_CTRL_ACCEPT_MULTICAST
       | ETH_RX_FIL_CTRL_ACCEPT_BROADCAST;
   } else {
     lpc_eth->rxfilterctrl = ETH_RX_FIL_CTRL_ACCEPT_PERFECT
<font color='#000088'>+      | ETH_RX_FIL_CTRL_ACCEPT_MULTICAST
</font>       | ETH_RX_FIL_CTRL_ACCEPT_BROADCAST;
   }
 }
<font color='#997700'>@@ -1291,7 +1292,8 @@
</font> )
 {
   lpc_eth_driver_entry *e = (lpc_eth_driver_entry *) ifp->if_softc;
<font color='#880000'>-  int rv = 0;
</font><font color='#000088'>+  struct ifreq *ifr = (struct ifreq *) data;
+  int eno = 0;
</font> 
   LPC_ETH_PRINTF("%s\n", __func__);
 
<font color='#997700'>@@ -1313,15 +1315,25 @@
</font>         /* TODO: init */
       }
       break;
<font color='#000088'>+    case SIOCADDMULTI:
+    case SIOCDELMULTI: {
+      eno = (command == SIOCADDMULTI) ? ether_addmulti(ifr, &e->arpcom)
+        : ether_delmulti(ifr, &e->arpcom);
+      if (eno == ENETRESET) {
+        /* TODO: Use imperfect hash filter */
+        eno = 0;
+      }
+      break;
+    }
</font>     case SIO_RTEMS_SHOW_STATS:
       lpc_eth_interface_stats(e);
       break;
     default:
<font color='#880000'>-      rv = EINVAL;
</font><font color='#000088'>+      eno = EINVAL;
</font>       break;
   }
 
<font color='#880000'>-  return rv;
</font><font color='#000088'>+  return eno;
</font> }
 
 static void lpc_eth_interface_start(struct ifnet *ifp)
<font color='#997700'>@@ -1504,7 +1516,7 @@
</font>   ifp->if_start = lpc_eth_interface_start;
   ifp->if_output = ether_output;
   ifp->if_watchdog = lpc_eth_interface_watchdog;
<font color='#880000'>-  ifp->if_flags = config->ignore_broadcast ? 0 : IFF_BROADCAST;
</font><font color='#000088'>+  ifp->if_flags = IFF_MULTICAST | IFF_BROADCAST | IFF_SIMPLEX;
</font>   ifp->if_snd.ifq_maxlen = ifqmaxlen;
   ifp->if_timer = 0;
 
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>