ioctl: SIOCADDMULTI (howto?)

Bruce M. Simpson bms at FreeBSD.org
Wed Feb 21 00:34:57 UTC 2007


Jouke Witteveen wrote:
>
> I hope someone can find a spare minute to look at if_findmulti. It
> would help me quite much.
I verified with mtest that FreeBSD cannot delete an AF_LINK multicast 
membership, reproduced with both 7-CURRENT and 6.2-RELEASE.

if_findmulti() appears to be doing a possibly incorrect comparison.
sa_equal() is not valid for use with AF_LINK in some cases, as 
sockaddr_dl has deeper structure than a simple array of bytes.

Thanks for finding this bug -- it would have affected XORP's IS-IS 
implementation further on in time.

Further testing would be appreciated. If the fix is good I will merge, 
though it should perhaps be a more general fix for sa_equal().

BMS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ethermcast.diff
Type: text/x-patch
Size: 779 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20070221/405de325/ethermcast.bin


More information about the freebsd-net mailing list