Brian Haley <[EMAIL PROTECTED]> wrote on 12/18/2007 12:57:54 PM: > Trying to connect() to an IPv6 link-local multicast address by > specifying the outgoing multicast interface doesn't work, you have to > bind to a device first with an SO_BINDTODEVICE setsockopt() call.
No, you simply have to specify sin6_scope_id for link-scope addresses, like you do in unicast cases. Your patch requires them to match (if specified), but I don't think IPV6_MULTICAST_IF should override or require a match for a valid sin6_scope_id (or be an error). If I read it correctly, the existing code uses IPV6_MULTICAST_IF if the sin6_scope_id is not set, otherwise honors the interface specified in the connect. That seems like correct behaviour to me, and RFC 3493 doesn't address the relative precedence of the two that I see. This is in the "linklocal" branch, and all unicast linklocal's require specifying sin6_scope_id. Multicast doesn't if require a scope_id in the case where you've done an IPV6_MULTICAST_IF, but it should still allow a different scope_id when you have used IPV6_MULTICAST_IF. Do you have application code that you believe is correct that doesn't work? +-DLS -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html