aboutsummaryrefslogtreecommitdiffstats
path: root/tools/net/ynl/lib/ynl.py
diff options
context:
space:
mode:
authorJiri Pirko <jiri@nvidia.com>2024-02-22 14:43:49 +0100
committerJakub Kicinski <kuba@kernel.org>2024-02-23 18:16:43 -0800
commitac95b1fca034d50d42a058a9476e0fe555653d0d (patch)
tree759c7e93be2bf27af84648519d489aee08cb9af4 /tools/net/ynl/lib/ynl.py
parentMerge branch 'net-staging-don-t-bother-filling-in-ethtool-driver-version' (diff)
downloadlinux-rng-ac95b1fca034d50d42a058a9476e0fe555653d0d.tar.xz
linux-rng-ac95b1fca034d50d42a058a9476e0fe555653d0d.zip
tools: ynl: allow user to specify flag attr with bool values
The flag attr presence in Netlink message indicates value "true", if it is missing in the message it means "false". Allow user to specify attrname with value "true"/"false" in json for flag attrs, treat "false" value properly. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Link: https://lore.kernel.org/r/20240222134351.224704-2-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to '')
-rw-r--r--tools/net/ynl/lib/ynl.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/net/ynl/lib/ynl.py b/tools/net/ynl/lib/ynl.py
index f45ee5f29bed..1c5c7662dc9a 100644
--- a/tools/net/ynl/lib/ynl.py
+++ b/tools/net/ynl/lib/ynl.py
@@ -459,6 +459,9 @@ class YnlFamily(SpecFamily):
attr_payload += self._add_attr(attr['nested-attributes'],
subname, subvalue, sub_attrs)
elif attr["type"] == 'flag':
+ if not value:
+ # If value is absent or false then skip attribute creation.
+ return b''
attr_payload = b''
elif attr["type"] == 'string':
attr_payload = str(value).encode('ascii') + b'\x00'