Here is a proposal to add more helpers in the libnetlink to manage 64-bit alignment issues. Note that this series was only tested on x86.
The first patch is a fix (bug seen by code review only unless I've missed something). The second patch adds helpers and uses it for IFLA_STATS64. The last two patches use the new API to align mcast stats. We could also add helpers for nla_put_u64() and its variants. include/net/netlink.h | 10 +++- include/uapi/linux/rtnetlink.h | 1 + lib/nlattr.c | 107 +++++++++++++++++++++++++++++++++++++++++ net/core/rtnetlink.c | 9 +--- net/ipv4/ipmr.c | 4 +- net/ipv6/ip6mr.c | 4 +- 6 files changed, 123 insertions(+), 12 deletions(-) Comments are welcomed, Regards, Nicolas