[OpenBIOS] r532 - ofw/inetv6

svn at openbios.org svn at openbios.org
Fri Aug 10 04:06:46 CEST 2007


Author: lwalter
Date: 2007-08-10 04:06:46 +0200 (Fri, 10 Aug 2007)
New Revision: 532

Modified:
   ofw/inetv6/ethernet.fth
Log:
Send multiple multicast addresses to set-multicast

Modified: ofw/inetv6/ethernet.fth
===================================================================
--- ofw/inetv6/ethernet.fth	2007-08-09 21:42:49 UTC (rev 531)
+++ ofw/inetv6/ethernet.fth	2007-08-10 02:06:46 UTC (rev 532)
@@ -66,9 +66,13 @@
 ;
 
 : set-mc-hash  ( -- err? )
-   \ XXX Make buffer of all multicast addresses for "set-multicast"
    my-en-addr 3 + multicast-en-addr 3 + 3 move
-   multicast-en-addr /e " set-multicast" ['] $call-parent catch 0=  if  false exit  then
+   /e 2 * dup >r alloc-mem >r                        ( R: len adr )
+   multicast-en-addr    r@      /e move              ( R: len adr )
+   mc-en-addr-all-nodes r@ /e + /e move              ( R: len adr ) 
+   2r@ swap " set-multicast" ['] $call-parent catch  ( flag )  ( R: len adr )
+   2r> swap free-mem                                 ( flag )
+   0=  if  false exit  then
    4drop
    multicast-en-addr    (set-mc-hash)
    mc-en-addr-all-nodes (set-mc-hash) or




More information about the OpenBIOS mailing list