libnl: add nla_put_u64_64bit() helper
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Fri, 22 Apr 2016 15:31:22 +0000 (17:31 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 24 Apr 2016 00:13:25 +0000 (20:13 -0400)
With this function, nla_data() is aligned on a 64-bit area.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/netlink.h

index 113b483b6ee83c897436318e7354c7a301c1a62d..e589cb3dcceede6d4bc6e33bdc5b30830a06ba4d 100644 (file)
@@ -857,6 +857,19 @@ static inline int nla_put_u64(struct sk_buff *skb, int attrtype, u64 value)
        return nla_put(skb, attrtype, sizeof(u64), &value);
 }
 
+/**
+ * nla_put_u64_64bit - Add a u64 netlink attribute to a skb and align it
+ * @skb: socket buffer to add attribute to
+ * @attrtype: attribute type
+ * @value: numeric value
+ * @padattr: attribute type for the padding
+ */
+static inline int nla_put_u64_64bit(struct sk_buff *skb, int attrtype,
+                                   u64 value, int padattr)
+{
+       return nla_put_64bit(skb, attrtype, sizeof(u64), &value, padattr);
+}
+
 /**
  * nla_put_be64 - Add a __be64 netlink attribute to a socket buffer and align it
  * @skb: socket buffer to add attribute to