lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZzdFZ1C1te_eEQ5P@nanopsycho.orion>
Date: Fri, 15 Nov 2024 13:58:15 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: Saeed Mahameed <saeed@...nel.org>
Cc: David Ahern <dsahern@...il.com>, netdev@...r.kernel.org,
	Saeed Mahameed <saeedm@...dia.com>
Subject: Re: [PATCH iproute2-next] bash-completion: devlink: fix port param
 name show completion

Fri, Nov 15, 2024 at 06:58:48AM CET, saeed@...nel.org wrote:
>From: Saeed Mahameed <saeedm@...dia.com>
>
>Port param names are found with "devlink port param show", and not
>"devlink param show", fix that.
>
>Port dev name can be a netdev, so find the actual port dev before
>querying "devlink port params show | jq '... [$dev] ...'",
>since "devlink port params show" doesn't return the netdev name,
>but the actual port dev name.
>
>Signed-off-by: Saeed Mahameed <saeedm@...dia.com>
>---
> bash-completion/devlink | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
>diff --git a/bash-completion/devlink b/bash-completion/devlink
>index 52dc82b3..ac5ea62c 100644
>--- a/bash-completion/devlink
>+++ b/bash-completion/devlink
>@@ -43,6 +43,15 @@ _devlink_direct_complete()
>             value=$(devlink -j dev param show 2>/dev/null \
>                     | jq ".param[\"$dev\"][].name")
>             ;;
>+        port_param_name)
>+            dev=${words[4]}
>+            # dev could be a port or a netdev so find the port
>+            portdev=$(devlink -j port show dev $dev 2>/dev/null \
>+                    | jq '.port as $ports | $ports | keys[] as $keys | keys[0] ')
>+
>+            value=$(devlink -j port param show 2>/dev/null \

As you only care about params for specific port, you should pass it as
cmdline option here. And you can pass netdev directly, devlink knows how
to handle that. If I'm not missing anything in the code, should work
right now.


>+                    | jq ".param[$portdev][].name")
>+            ;;
>         port)
>             value=$(devlink -j port show 2>/dev/null \
>                     | jq '.port as $ports | $ports | keys[] as $key
>@@ -401,7 +410,7 @@ _devlink_port_param()
>             return
>             ;;
>         6)
>-            _devlink_direct_complete "param_name"
>+            _devlink_direct_complete "port_param_name"
>             return
>             ;;
>     esac
>-- 
>2.47.0
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ