[<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