Hi,
After testing and fixing the ack message length calculation,
this now works.
The UAPI changes are like before - the ACK message format becomes
[nlmsg header]
[ack header]
[request nlmsg header]
[request nlmsg body (already optional) - length aligned]
[extended ACK TLVs - this is NEW]
The extended ACK TLVs currently are:
For the error case:
* MSG - string message
* OFFS - offset of problem (e.g. malformed attribute)
in the request message
* ATTR - missing attribute ID
For the success case:
* COOKIE - arbitrary per-subsystem cookie to identify
the newly created object or similar
The whole behaviour can be enabled/disabled/queried using
a new socket option NETLINK_EXT_ACK.
johannes