On Tue, Mar 30, 2021 at 08:44:30PM +0800, xuchunmei wrote:
> Hi,
> 
> I use iproute-5.10 with kernel-5.10.6, I found that ip-nexthop does not 
> support flush by id, is it by design?
> 
> Reproduce steps:
> # ip netns add me
> # ip -netns me addr add 127.0.0.1/8 dev lo
> # ip -netns me link set lo up
> # ip -netns me nexthop add id 105 blackhole proto 99
> # ip -netns me nexthop flush id 105
> id 105 blackhole proto 99
> # ip -netns me nexthop ls
> id 105 blackhole proto 99
> 
> while use flush without any args, flush will success.
> # ip -netns me nexthop flush
> Flushed 1 nexthops
> 
> I find the function ipnh_list_flush implemented in ipnexthop.c:
> 
> else if (!strcmp(*argv, "id")) {
>                       __u32 id;
> 
>                       NEXT_ARG();
>                       if (get_unsigned(&id, *argv, 0))
>                               invarg("invalid id value", *argv);
>                       return ipnh_get_id(id);
>               } 
> 
> When args is “id”, just return the related info of “id”, so I want to known 
> is it by design ?

Looks like a bug. 'flush' does not really make sense with 'id', but
'list id' works, so I think 'flush id' should also work.

Can you send a patch?

Reply via email to