ip-nexthop does not support flush by id

3 messages, 3 authors, 2021-03-30 · open the first message on its own page

ip-nexthop does not support flush by id

From: xuchunmei <hidden>
Date: 2021-03-30 12:45:25

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 ?

Re: ip-nexthop does not support flush by id

From: Ido Schimmel <hidden>
Date: 2021-03-30 13:06:19

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?

Re: ip-nexthop does not support flush by id

From: David Ahern <hidden>
Date: 2021-03-30 15:05:23

On 3/30/21 7:05 AM, Ido Schimmel wrote:
Looks like a bug. 'flush' does not really make sense with 'id', but
'list id' works, so I think 'flush id' should also work.
right, neither were intended. If you know the id, you don't need the
generic list / flush option.
Can you send a patch?
Agreed. At this point consistency is best.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help