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