On (06/12/08 08:10), James Carlson wrote:
> Correct.  On a BSD or Linux system, you can issue SIOCADDMULTI to add
> an arbitrary Ethernet multicast address to the accepted set on the
> underlying driver.  It does so *WITHOUT* interaction with the IP
> multicast infrastructure on those systems.

I've not  looked up when this changed, but seems like
at least the most recent freebsd snapshot uses this to
add if_multiaddrs entries to the ifnet. Looking 
at the revs, seems like rev 1.43 of if.h has the relevant
explanation:

"Use the new if_multiaddrs list for multicast addresses rather than the
 previous hackery involving struct in_ifaddr and arpcom.  Get rid of the
 abominable multi_kludge.  Update all network interfaces to use the
 new machanism.  Distressingly few Ethernet drivers program the multicast
 filter properly (assuming the hardware has one, which it usually does)."

(I'm looking at http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/if.h)

--Sowmini

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to