Re: [PATCH net-next 10/11] tools: ynl: decode hex input
From: Donald Hunter <donald.hunter@gmail.com>
Date: 2025-09-08 10:35:05
Also in:
lkml
Asbjørn Sloth Tønnesen [off-list ref] writes:
On 9/6/25 12:27 AM, Jacob Keller wrote:quoted
On 9/5/2025 3:51 AM, Donald Hunter wrote:quoted
Asbjørn Sloth Tønnesen [off-list ref] writes:quoted
This patch add support for decoding hex input, so that binary attributes can be read through --json. Example (using future wireguard.yaml): $ sudo ./tools/net/ynl/pyynl/cli.py --family wireguard \ --do set-device --json '{"ifindex":3, "private-key":"2a ae 6c 35 c9 4f cf <... to 32 bytes>"}' Signed-off-by: Asbjørn Sloth Tønnesen <redacted>Reviewed-by: Donald Hunter <donald.hunter@gmail.com> FWIW, the hex can include spaces or not when using bytes.fromhex(). When formatting hex for output, I chose to include spaces, but I don't really know if that was a good choice or not.I also prefer the spaces for readability.I formatted it with spaces for clarity, even without spaces it was a bit long for one line. Spaces also has the advantage that you don't have to think about endianness. Should we define the display hints a bit more in a .rst, or is it OK that they end up being implementation specific for each language library? Do we want them to behave the same in a Rust YNL library, as they do in Python?
Yes we should probably extend the existing doc to at least describe some of the defacto behaviour. https://docs.kernel.org/userspace-api/netlink/specs.html#display-hint
BTW: The rest of the key used in the example can be found with this key-gen: $ printf "hello world" | sha1sum [redacted key material]