IOCTLs versus netlink
greg.freemyer at gmail.com
Sun Sep 1 09:16:30 EDT 2013
Kevin Wilson <wkevils at gmail.com> wrote:
>Can someone please explain why are netlink sockets a better
>communication method between kernel space and userspace ?
It's been a long time since I thought about it but I think the primary issue is the abi ends up not being architecture independent unless you are very careful.
A structure definition in source code does not map one-to-one with a memory layout. It varies based on the architecture and the compiler options.
Specifically because compilers insert dead space between structure members to force proper word alignment, resolving the issue of a common abi that allows 32bit userspace to have the exact same structure layout as a 64bit kernel is problematic.
It can be done, but I believe it was the source of a lot if bugs, so the community decided to simply discourage there use.
(The main discussion about this was a long time ago, I hope I am remembering right.)
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
More information about the Kernelnewbies