I have a kernel module that receives data from userland using netlink socket. The kernel module in question is a standard (proprietary) one which has offered some hooks, that can be used for extending the module's functionality. The hooks are just function calls, which I can define and use. After some processing in the module, when the control reaches the exposed hook that I defined, the data has to be fed to linux TC flower. Unfortunately, most of TC flower's symbols are private and it is exposed only via netlink. Netlink requires a userland component.
I have not seen information on using netlink for communication within kernel. Yes, I know that exported symbols are the ideal way but what's the point if the feature that I want to talk to doesn't have any symbols exported!
Can netlink be used for IPC between a linux kernel module and the kernel (which already is a netlink receiver) without a userland component?