Subject: Re: [PATCH iproute2-next] bash-completion: devlink: fix port param name show completion

From: Stephen Hemminger <[email-masked]>
Date: Tue, 19 Nov 2024 08:45:47 -0800

On Sat, 16 Nov 2024 08:58:05 +0100
Jiri Pirko <[email-masked]> wrote:

> Fri, Nov 15, 2024 at 07:44:01PM CET, [email-masked] wrote:
> >On 15 Nov 13:58, Jiri Pirko wrote:  
> >> Fri, Nov 15, 2024 at 06:58:48AM CET, [email-masked] wrote:  
> >> > From: Saeed Mahameed <[email-masked]>
> >> > 
> >> > 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 <[email-masked]>
> >> > ---
> >> > 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.
> >>   
> >
> >Nope doesn't work:
> >
> >$ devlink -j port param show mlx5_1
> >Parameter name expected.
> >
> >$ devlink -j port param show auxiliary/mlx5_core.eth.0/65535
> >Parameter name expected.  
> 
> Okay, so fix it :)

Holding off on applying this until some conclusion is reached.