On Sat, Aug 06, 2005 at 10:13:29PM +0200, Patrick McHardy ([EMAIL PROTECTED]) wrote: > Evgeniy Polyakov wrote: > >On Sat, Aug 06, 2005 at 09:37:00PM +0200, Patrick McHardy > >([EMAIL PROTECTED]) wrote: > > > >>I'm working on extending netlink to work with an arbitary number > >>of groups and stumbled over this in the w1 driver: > >> > >> dev->groups = 23 > >> > >> NETLINK_CB(skb).dst_group = dev->groups; > >> netlink_broadcast(dev->nls, skb, 0, dev->groups, GFP_ATOMIC); > >> > >>Apparently it wants to send to multiple groups at once, is that correct? > >>Why does it need to do so? One limitation introduced by my patches will > >>be that broadcasting to multiple groups won't be possible anymore and > >>this is the only code in the kernel that uses this feature of netlink. > > > > > >23 was selected arbitrary - w1 definitely can live without multicast. > > netlink_broadcast takes a mask of groups, 23 equal 10111, so it > tries to broadcasts to multiple groups. I suggest to change it > to 1.
No problem - I will create a patch. > >According to complete removal of multicast feature - it is qiute > >usefull, maybe it is better to make it per-socket. > >And will not it break RTMGRP_* messages? > > It won't be removed, just a change in functionality. To support > an arbitary number of groups we can't use bitmasks anymore, otherwise > we would still be limited by the size of skb->cb. So instead of using > masks we use group numbers. This means we can only send to a single > group using netlink_broadcast, which is fine for all current users. Interesting idea... -- Evgeniy Polyakov - 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