summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2022-05-17 20:15:57 +0200
committerrofl0r <rofl0r@users.noreply.github.com>2022-09-16 01:33:32 +0000
commit46f0acba8141c8d49a8b2358f6436779e486d150 (patch)
tree66cad9725e3c78b1c5fbac42eaa704231eb55906 /include
parent7e2d06db22c521d0c6cdd06d18d94c9258087c5e (diff)
downloadlibnl-tiny-46f0acba8141c8d49a8b2358f6436779e486d150.tar.gz
netlink: add NLA_F_NESTED to all nested attributes
Newer generic netlink APIs (e.g. wireguard) require this to be able to parse nested attributes Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'include')
-rw-r--r--include/netlink/attr.h2
-rw-r--r--include/netlink/netlink-kernel.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/include/netlink/attr.h b/include/netlink/attr.h
index bcfbf07..3e3047f 100644
--- a/include/netlink/attr.h
+++ b/include/netlink/attr.h
@@ -495,7 +495,7 @@ static inline struct nlattr *nla_nest_start(struct nl_msg *msg, int attrtype)
{
struct nlattr *start = (struct nlattr *) nlmsg_tail(msg->nm_nlh);
- if (nla_put(msg, attrtype, 0, NULL) < 0)
+ if (nla_put(msg, attrtype | NLA_F_NESTED, 0, NULL) < 0)
return NULL;
return start;
diff --git a/include/netlink/netlink-kernel.h b/include/netlink/netlink-kernel.h
index a0f5535..026a914 100644
--- a/include/netlink/netlink-kernel.h
+++ b/include/netlink/netlink-kernel.h
@@ -175,6 +175,8 @@ struct nlmsghdr
/** @} */
+#define NLA_F_NESTED (1 << 15)
+
/**
* Netlink error message
* @ingroup msg