[openib-general] void-ness of struct netdevice::set_multicast_list() problematic with IPoIB

Or Gerlitz ogerlitz at voltaire.com
Thu Aug 17 02:55:17 PDT 2006


Roland,

If i understand correct someone can attempt (*) setting IFF_ALLMULTI or IFF_PROMISC
for an IPoIB device, and there is no very to return -EINVAL (or whatever) on that.

This is since they (eg net/ipv4/ipmr.c and friends) just set the flags and later
call the device set_multicast_list() function, which is void...

I don't think its a big deal, maybe we can just print an unsupported warning
from ipoib_set_mcast_list() if either of the flags is set.

All of this is based on my understanding that IB does not support those flags,
please correct me if i am wrong here...

Or.

(*) eg by calling packet(7) with PACKET_ADD_MEMBERSHIP and setting PACKET_MR_PROMISC or
    PACKET_MR_ALLMULTI




More information about the general mailing list