aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/netlink.h
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2020-03-28 16:37:42 +0100
committerDavid S. Miller <davem@davemloft.net>2020-03-30 11:06:49 -0700
commit8953b0770ff4e3038a6d4df3cc021f9bfb47548a (patch)
tree3a99e78f5accc546792f7b5e89637eb94bd26c1a /include/net/netlink.h
parentacc086bfb957542be49a8165eb794bc74f6cb51b (diff)
downloadlinux-8953b0770ff4e3038a6d4df3cc021f9bfb47548a.tar.gz
net: introduce nla_put_bitfield32() helper and use it
Introduce a helper to pass value and selector to. The helper packs them into struct and puts them into netlink message. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/netlink.h')
-rw-r--r--include/net/netlink.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/net/netlink.h b/include/net/netlink.h
index 56c365dc6dc79..67c57d6942e34 100644
--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -1466,6 +1466,21 @@ static inline int nla_put_in6_addr(struct sk_buff *skb, int attrtype,
}
/**
+ * nla_put_bitfield32 - Add a bitfield32 netlink attribute to a socket buffer
+ * @skb: socket buffer to add attribute to
+ * @attrtype: attribute type
+ * @value: value carrying bits
+ * @selector: selector of valid bits
+ */
+static inline int nla_put_bitfield32(struct sk_buff *skb, int attrtype,
+ __u32 value, __u32 selector)
+{
+ struct nla_bitfield32 tmp = { value, selector, };
+
+ return nla_put(skb, attrtype, sizeof(tmp), &tmp);
+}
+
+/**
* nla_get_u32 - return payload of u32 attribute
* @nla: u32 netlink attribute
*/