Your split of netlink_unicast seems fine ; I guess the bigger question is whether this interface could be aNo, the result is returned via the socket fd. It's just created due to the mq_notify call.
speacilized netlink protocol instead? It doesnt seem too nasty as is
right now, just tending towards cleanliness.
It seems that user space must first open a netlink socket for this to
work but somehow the result skb is passed back to userspace using the
mq_notify and not via the socket interface opened?
Why should user spaceThere can be multiple messages outstanding. Each sucessful mq_notify call generates exactly one message, but a process could create multiple message queues and then there can be multiple messages in the notification socket.
even bother doing this? The kernel could on its behalf, no? Are you sure
there will always be one and only one message outstanding always?