On 30.03.23 11:47, Nick wrote:

On 3/30/23 11:43, Nick wrote:

On 3/19/23 20:25, Hauke Mehrtens wrote:
On 3/15/23 14:37, Nick Hainke wrote:
NLA_S8 is used by newer hostapd versions.

Signed-off-by: Nick Hainke <vinc...@systemli.org>
---
  attr.c                 |  1 +
  include/netlink/attr.h | 35 +++++++++++++++++++++++++++++++++++
  2 files changed, 36 insertions(+)

diff --git a/attr.c b/attr.c
index eae91e5..abde67f 100644
--- a/attr.c
+++ b/attr.c
@@ -437,6 +437,7 @@ static uint16_t nla_attr_minlen[NLA_TYPE_MAX+1] = {
      [NLA_U32]    = sizeof(uint32_t),
      [NLA_U64]    = sizeof(uint64_t),
      [NLA_STRING]    = 1,
+    [NLA_S8]    = sizeof(int8_t),
  };
    static int validate_nla(struct nlattr *nla, int maxtype,
diff --git a/include/netlink/attr.h b/include/netlink/attr.h
index 3e3047f..3a5d53d 100644
--- a/include/netlink/attr.h
+++ b/include/netlink/attr.h
@@ -45,6 +45,7 @@ enum {
      NLA_FLAG,    /**< Flag */
      NLA_MSECS,    /**< Micro seconds (64bit) */
      NLA_NESTED,    /**< Nested attributes */
+    NLA_S8,
      __NLA_TYPE_MAX,
  };

I think this has to match the kernel definitions of the same enum.
https://elixir.bootlin.com/linux/v6.1.20/source/include/net/netlink.h#L178

So I have to add all enum types?
libnl is also not having all types:
https://github.com/thom311/libnl/blob/main/include/netlink/attr.h#L33-L51
You can leave out entries at the end you don't need, but the values must match. So please add everything in between until you reach NLA_S8. While you're at it, it might be a good idea to add at least the other NLA_S* types as well.

- Felix

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to