tools: ynl: copy netlink error to NlError
authorJakub Kicinski <kuba@kernel.org>
Wed, 3 Apr 2024 02:34:21 +0000 (19:34 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 4 Apr 2024 17:33:52 +0000 (10:33 -0700)
Typing e.nl_msg.error when processing exception is a bit tedious
and counter-intuitive. Set a local .error member to the positive
value of the netlink level error.

Reviewed-by: Petr Machata <petrm@nvidia.com>
Link: https://lore.kernel.org/r/20240403023426.1762996-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/net/ynl/lib/ynl.py

index 82d3c98067aa046c47531002bafbdb69d2bba022..b30210f537f76decf24520c8b406a27c9b7e7792 100644 (file)
@@ -100,9 +100,10 @@ class Netlink:
 class NlError(Exception):
   def __init__(self, nl_msg):
     self.nl_msg = nl_msg
+    self.error = -nl_msg.error
 
   def __str__(self):
-    return f"Netlink error: {os.strerror(-self.nl_msg.error)}\n{self.nl_msg}"
+    return f"Netlink error: {os.strerror(self.error)}\n{self.nl_msg}"
 
 
 class ConfigError(Exception):