Re: [PATCH net-next 10/11] tools: ynl: decode hex input
Donald Hunter <[email protected]> Mon, 08 Sep 2025 09:28:26 +0100
| Newsgroups | com.zx2c4.lists.wireguard,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
Asbjørn Sloth Tønnesen <[email protected]> writes: > On 9/6/25 12:27 AM, Jacob Keller wrote: >> On 9/5/2025 3:51 AM, Donald Hunter wrote: >>> Asbjørn Sloth Tønnesen <[email protected]> writes: >>> >>>> 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 <[email protected]> >>> >>> Reviewed-by: Donald Hunter <[email protected]> >>> >>> 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]