How to assign sockaddr_nl->nl_groups when using connector

vaughan vaughan.cao at
Tue Mar 19 02:15:43 UTC 2013

Hi Evgeniy,

I am not quite sure how to assign nl_groups when using connector. You
Documentation/connector/connector.txt don't explain it very clearly. I
thought it's a bitmask representing only 32 groups.
If I just want to subscribe only one group such as CN_KVP_IDX, what
shall I do? Which one below is correct?
a) l_local.nl_groups = CN_KVP_IDX;
b) l_local.nl_groups = 1 << (CN_KVP_IDX -1)
and bind with bind(s, (struct sockaddr *)&l_local, sizeof(struct
I ran your example in Documentation/connector/. 'l_local.nl_groups = -1'
in ucon.c seems subscribe all channels, because if I start cgred
service, ucon will receive messages with idx=1.

And it seems setsockopt is not needed now, for it is done by
netlink_autobind? You even comment it out using '#if 0' in

Could you do me a favor to check
to see if my understanding is correct or not? Thanks.


More information about the devel mailing list