Re: set_multicast_list vs. set_rx_mode

Johannes Berg
2007-08-15T12:52:54Z

[-- Attachment #1: Type: text/plain, Size: 1008 bytes --]

On Wed, 2007-08-15 at 14:33 +0200, Patrick McHardy wrote:
> Johannes Berg wrote:
> > Is it intentional that in the case where set_rx_mode is assigned, you
> > still need to assign set_multicast_list even if it won't ever be called
> > as a flag for SIOCADDMULTI?
> >
> > I was thinking of converting the wireless code to use set_rx_mode and
> > assign set_multicast_list only if the underlying hardware supports
> > multicast filtering, and it seems that is well-supported, but it does
> > seem a bit weird that set_multicast_list degrades to a flag.
>
>
> Indeed, I missed that. It should check for !dev->set_multicast_list &&
> !dev->set_rx_mode before returning -EINVAL.

Hmm. We don't really support multiple unicast addresses so I should
probably not use set_rx_mode. What is the meaning of
dev->change_rx_flags? It seems to be called with IFF_ALLMULTI but if it
is assigned and set_multicast_list is not then you also cannot add
multicast addresses via SIOCADDMULTI.