"Michal Ruzicka" <[EMAIL PROTECTED]> wrote on 08/17/2006 05:26:35 
AM:

> I've reviewed your patch (the IPv4 part of it) and I think I can say 
that
> our soulutions are actually quite similar.
> But I can come up with one difference that I'd like know your opinion 
on.

        If you have a duplicated address and the application is not using
interface index to identify the interface, then which one you join or 
leave
on is not unique, and which one you'll get is not defined. It is, in fact,
an error to leave the group on an interface with a different index, and
the duplicate scenario has effectively changed the meaning of that 
address's
interface.
        In the same scenario, if you have not deleted any interfaces and
attempt to leave the group, your code may get the "pppY" interface from
ip_mc_find_dev(), not have a matching index for the group you actually
joined, and will return EADDRNOTAVAIL rather than leaving the group you
joined on.
        In both cases, it'd simply be an error for an application to be
using address to identify the interface when that is not unique. If the
addresses are used (or reused) on multiple interfaces, the application
has to use interface index to work properly.

                                                                +-DLS


> Suppose the following situatuion:
> 
> 1) create pppX interface:
>   IP: A.B.C.D
> 
> 2) join a multicast group by address: A.B.C.D
>   ASSUMPTION: no other interface with the same IP address exists;
>   the result should be that the group is joined on the pppX interface
> 
> 3) create pppY interface
>   IP: A.B.C.D (Yes the same IP, not unusual on ppp links.)
> 
> 4) delete the pppX interace
> 
> 5) attempt to leave the multicast group by address: A.B.C.D
> 
> 6) * if your algorthim is used -EADDRNOTAVAIL is returned
>    * if mine is used the multicast group is left on the pppX interface
> 
> Surely this won't be a common problem but I think it's worth pointing 
out
> here.
> 
> Michal
> -
> 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

-
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

Reply via email to