All of lore.kernel.org
 help / color / mirror / Atom feed
* ping (iputils) review (call for help)
@ 2022-11-03 11:30 Petr Vorel
  2022-11-03 15:43 ` Xin Long
  2022-11-09 16:25 ` David Ahern
  0 siblings, 2 replies; 7+ messages in thread
From: Petr Vorel @ 2022-11-03 11:30 UTC (permalink / raw)
  To: netdev
  Cc: David S. Miller, Michal Kubecek,
	Toke Høiland-Jørgensen, David Ahern, Paolo Abeni,
	Eric Dumazet, Jakub Kicinski, Xin Long, Vasiliy Kulikov,
	Hideaki YOSHIFUJI

Hi,

I'm sorry to bother you about userspace. I'm preparing new iputils release and
I'm not sure about these two patches.  As there has been many regressions,
review from experts is more than welcome.

If you have time to review them, it does not matter if you post your
comments/RBT in github or here (as long as you keep Cc me so that I don't
overlook it).

BTW I wonder if it make sense to list Hideaki YOSHIFUJI as NETWORKING
IPv4/IPv6 maintainer. If I'm not mistaken, it has been a decade since he was active.

* ping: Call connect() before sending/receiving
https://github.com/iputils/iputils/pull/391
=> I did not even knew it's possible to connect to ping socket, but looks like
it works on both raw socket and on ICMP datagram socket.

* ping: revert "ping: do not bind to device when destination IP is on device
https://github.com/iputils/iputils/pull/396
=> the problem has been fixed in mainline and stable/LTS kernels therefore I
suppose we can revert cc44f4c as done in this PR. It's just a question if we
should care about people who run new iputils on older (unfixed) kernels.

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ping (iputils) review (call for help)
  2022-11-03 11:30 ping (iputils) review (call for help) Petr Vorel
@ 2022-11-03 15:43 ` Xin Long
  2022-11-03 17:24   ` Petr Vorel
  2022-11-09 16:25 ` David Ahern
  1 sibling, 1 reply; 7+ messages in thread
From: Xin Long @ 2022-11-03 15:43 UTC (permalink / raw)
  To: Petr Vorel
  Cc: netdev, David S. Miller, Michal Kubecek,
	Toke Høiland-Jørgensen, David Ahern, Paolo Abeni,
	Eric Dumazet, Jakub Kicinski, Vasiliy Kulikov, Hideaki YOSHIFUJI

On Thu, Nov 3, 2022 at 7:30 AM Petr Vorel <pvorel@suse.cz> wrote:
>
> Hi,
>
> I'm sorry to bother you about userspace. I'm preparing new iputils release and
> I'm not sure about these two patches.  As there has been many regressions,
> review from experts is more than welcome.
>
> If you have time to review them, it does not matter if you post your
> comments/RBT in github or here (as long as you keep Cc me so that I don't
> overlook it).
>
> BTW I wonder if it make sense to list Hideaki YOSHIFUJI as NETWORKING
> IPv4/IPv6 maintainer. If I'm not mistaken, it has been a decade since he was active.
>
> * ping: Call connect() before sending/receiving
> https://github.com/iputils/iputils/pull/391
> => I did not even knew it's possible to connect to ping socket, but looks like
> it works on both raw socket and on ICMP datagram socket.
The workaround of not using the PING socket is:

# sysctl -w net.ipv4.ping_group_range="1 0"

>
> * ping: revert "ping: do not bind to device when destination IP is on device
> https://github.com/iputils/iputils/pull/396
> => the problem has been fixed in mainline and stable/LTS kernels therefore I
> suppose we can revert cc44f4c as done in this PR. It's just a question if we
> should care about people who run new iputils on older (unfixed) kernels.
cc44f4c has also caused some regression though it's only seen in the
kselftests, and that is why I made the kernel fix. I don't know which
regression is more serious regardless of the patch's correctness. :-).
or can we put some changelog to say that this revert should be
backported together with the kernel commit?

Thanks.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ping (iputils) review (call for help)
  2022-11-03 15:43 ` Xin Long
@ 2022-11-03 17:24   ` Petr Vorel
  2022-11-03 20:27     ` Xin Long
  0 siblings, 1 reply; 7+ messages in thread
From: Petr Vorel @ 2022-11-03 17:24 UTC (permalink / raw)
  To: Xin Long
  Cc: netdev, David S. Miller, Michal Kubecek,
	Toke Høiland-Jørgensen, David Ahern, Paolo Abeni,
	Eric Dumazet, Jakub Kicinski, Vasiliy Kulikov, Hideaki YOSHIFUJI

Hi Xin,

> On Thu, Nov 3, 2022 at 7:30 AM Petr Vorel <pvorel@suse.cz> wrote:

> > Hi,

> > I'm sorry to bother you about userspace. I'm preparing new iputils release and
> > I'm not sure about these two patches.  As there has been many regressions,
> > review from experts is more than welcome.

> > If you have time to review them, it does not matter if you post your
> > comments/RBT in github or here (as long as you keep Cc me so that I don't
> > overlook it).

> > BTW I wonder if it make sense to list Hideaki YOSHIFUJI as NETWORKING
> > IPv4/IPv6 maintainer. If I'm not mistaken, it has been a decade since he was active.

> > * ping: Call connect() before sending/receiving
> > https://github.com/iputils/iputils/pull/391
> > => I did not even knew it's possible to connect to ping socket, but looks like
> > it works on both raw socket and on ICMP datagram socket.
> The workaround of not using the PING socket is:

> # sysctl -w net.ipv4.ping_group_range="1 0"

Well raw socket requires capabilities or setuid. Because some distros has moved to
ICMP datagram socket, this approach requires root.


> > * ping: revert "ping: do not bind to device when destination IP is on device
> > https://github.com/iputils/iputils/pull/396
> > => the problem has been fixed in mainline and stable/LTS kernels therefore I
> > suppose we can revert cc44f4c as done in this PR. It's just a question if we
> > should care about people who run new iputils on older (unfixed) kernels.
> cc44f4c has also caused some regression though it's only seen in the
> kselftests, and that is why I made the kernel fix. I don't know which
> regression is more serious regardless of the patch's correctness. :-).
I'd prefer users not being affected than fixed tests and ping not working.

BTW can you be more specific, which kselftests is affected?
Ideally link to lore. In [1] you just mentioned "Jianlin noticed", I haven't
found anything on lore.

> or can we put some changelog to say that this revert should be
> backported together with the kernel commit?
Well, this practically means new iputils (compiled from git) will not work on
older (unfixed) kernel. Probably not many people will be affected, but why
to upset anybody?

If the problem now is just broken kselftests, I'd prefer keeping it long enough
(at least 1 year?) before reverting it.

Kind regards,
Petr

[1] https://lore.kernel.org/all/ea03066bc7256ab86df8d3501f3440819305be57.1644988852.git.lucien.xin@gmail.com/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ping (iputils) review (call for help)
  2022-11-03 17:24   ` Petr Vorel
@ 2022-11-03 20:27     ` Xin Long
  0 siblings, 0 replies; 7+ messages in thread
From: Xin Long @ 2022-11-03 20:27 UTC (permalink / raw)
  To: Petr Vorel
  Cc: netdev, David S. Miller, Michal Kubecek,
	Toke Høiland-Jørgensen, David Ahern, Paolo Abeni,
	Eric Dumazet, Jakub Kicinski, Vasiliy Kulikov, Hideaki YOSHIFUJI

On Thu, Nov 3, 2022 at 1:24 PM Petr Vorel <pvorel@suse.cz> wrote:
>
> Hi Xin,
>
> > On Thu, Nov 3, 2022 at 7:30 AM Petr Vorel <pvorel@suse.cz> wrote:
>
> > > Hi,
>
> > > I'm sorry to bother you about userspace. I'm preparing new iputils release and
> > > I'm not sure about these two patches.  As there has been many regressions,
> > > review from experts is more than welcome.
>
> > > If you have time to review them, it does not matter if you post your
> > > comments/RBT in github or here (as long as you keep Cc me so that I don't
> > > overlook it).
>
> > > BTW I wonder if it make sense to list Hideaki YOSHIFUJI as NETWORKING
> > > IPv4/IPv6 maintainer. If I'm not mistaken, it has been a decade since he was active.
>
> > > * ping: Call connect() before sending/receiving
> > > https://github.com/iputils/iputils/pull/391
> > > => I did not even knew it's possible to connect to ping socket, but looks like
> > > it works on both raw socket and on ICMP datagram socket.
> > The workaround of not using the PING socket is:
>
> > # sysctl -w net.ipv4.ping_group_range="1 0"
>
> Well raw socket requires capabilities or setuid. Because some distros has moved to
> ICMP datagram socket, this approach requires root.
>
>
> > > * ping: revert "ping: do not bind to device when destination IP is on device
> > > https://github.com/iputils/iputils/pull/396
> > > => the problem has been fixed in mainline and stable/LTS kernels therefore I
> > > suppose we can revert cc44f4c as done in this PR. It's just a question if we
> > > should care about people who run new iputils on older (unfixed) kernels.
> > cc44f4c has also caused some regression though it's only seen in the
> > kselftests, and that is why I made the kernel fix. I don't know which
> > regression is more serious regardless of the patch's correctness. :-).
> I'd prefer users not being affected than fixed tests and ping not working.
>
> BTW can you be more specific, which kselftests is affected?
> Ideally link to lore. In [1] you just mentioned "Jianlin noticed", I haven't
> found anything on lore.
Sure, here is the bz you can check for more details:

https://bugzilla.redhat.com/show_bug.cgi?id=2054023

>
> > or can we put some changelog to say that this revert should be
> > backported together with the kernel commit?
> Well, this practically means new iputils (compiled from git) will not work on
> older (unfixed) kernel. Probably not many people will be affected, but why
> to upset anybody?
>
> If the problem now is just broken kselftests, I'd prefer keeping it long enough
> (at least 1 year?) before reverting it.
I'm okay with it as no real customers complain about it so far.

Thanks.

>
> Kind regards,
> Petr
>
> [1] https://lore.kernel.org/all/ea03066bc7256ab86df8d3501f3440819305be57.1644988852.git.lucien.xin@gmail.com/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ping (iputils) review (call for help)
  2022-11-03 11:30 ping (iputils) review (call for help) Petr Vorel
  2022-11-03 15:43 ` Xin Long
@ 2022-11-09 16:25 ` David Ahern
  2022-11-09 22:01   ` Petr Vorel
  1 sibling, 1 reply; 7+ messages in thread
From: David Ahern @ 2022-11-09 16:25 UTC (permalink / raw)
  To: Petr Vorel, netdev
  Cc: David S. Miller, Michal Kubecek,
	Toke Høiland-Jørgensen, Paolo Abeni, Eric Dumazet,
	Jakub Kicinski, Xin Long, Vasiliy Kulikov, Hideaki YOSHIFUJI

On 11/3/22 5:30 AM, Petr Vorel wrote:
> Hi,
> 
> I'm sorry to bother you about userspace. I'm preparing new iputils release and
> I'm not sure about these two patches.  As there has been many regressions,
> review from experts is more than welcome.
> 
> If you have time to review them, it does not matter if you post your
> comments/RBT in github or here (as long as you keep Cc me so that I don't
> overlook it).
> 
> BTW I wonder if it make sense to list Hideaki YOSHIFUJI as NETWORKING
> IPv4/IPv6 maintainer. If I'm not mistaken, it has been a decade since he was active.
> 
> * ping: Call connect() before sending/receiving
> https://github.com/iputils/iputils/pull/391
> => I did not even knew it's possible to connect to ping socket, but looks like
> it works on both raw socket and on ICMP datagram socket.

no strong opinion on this one. A command line option to use connect
might be better than always doing the connect.

> 
> * ping: revert "ping: do not bind to device when destination IP is on device
> https://github.com/iputils/iputils/pull/396
> => the problem has been fixed in mainline and stable/LTS kernels therefore I
> suppose we can revert cc44f4c as done in this PR. It's just a question if we
> should care about people who run new iputils on older (unfixed) kernels.
> 

I agree with this change. If a user opts for device binding, the command
should not try to guess if it is really needed.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ping (iputils) review (call for help)
  2022-11-09 16:25 ` David Ahern
@ 2022-11-09 22:01   ` Petr Vorel
  2022-11-10 11:13     ` Hideaki Yoshifuji
  0 siblings, 1 reply; 7+ messages in thread
From: Petr Vorel @ 2022-11-09 22:01 UTC (permalink / raw)
  To: David Ahern
  Cc: netdev, David S. Miller, Michal Kubecek,
	Toke Høiland-Jørgensen, Paolo Abeni, Eric Dumazet,
	Jakub Kicinski, Xin Long, Vasiliy Kulikov, Hideaki YOSHIFUJI,
	Sami Kerola

Hi David,

first, thanks a lot for having a look!

> On 11/3/22 5:30 AM, Petr Vorel wrote:
> > Hi,

> > I'm sorry to bother you about userspace. I'm preparing new iputils release and
> > I'm not sure about these two patches.  As there has been many regressions,
> > review from experts is more than welcome.

> > If you have time to review them, it does not matter if you post your
> > comments/RBT in github or here (as long as you keep Cc me so that I don't
> > overlook it).

> > BTW I wonder if it make sense to list Hideaki YOSHIFUJI as NETWORKING
> > IPv4/IPv6 maintainer. If I'm not mistaken, it has been a decade since he was active.

> > * ping: Call connect() before sending/receiving
> > https://github.com/iputils/iputils/pull/391
> > => I did not even knew it's possible to connect to ping socket, but looks like
> > it works on both raw socket and on ICMP datagram socket.

> no strong opinion on this one. A command line option to use connect
> might be better than always doing the connect.
I was thinking about it, as it'd be safer in case of some regression.
If there is no other opinion I'll probably go this way, although I generally
prefer not adding more command line options.

> > * ping: revert "ping: do not bind to device when destination IP is on device
> > https://github.com/iputils/iputils/pull/396
> > => the problem has been fixed in mainline and stable/LTS kernels therefore I
> > suppose we can revert cc44f4c as done in this PR. It's just a question if we
> > should care about people who run new iputils on older (unfixed) kernels.


> I agree with this change. If a user opts for device binding, the command
> should not try to guess if it is really needed.

I guess Sami Kerola (the patch author) preferred ping functionality on wrongly
used ping's -I option. I've seen it the same even it causes kselftest
regressions and wait a bit longer. But ok, anybody who would care should
update kernel. I'll include this in upcoming iputils release.

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ping (iputils) review (call for help)
  2022-11-09 22:01   ` Petr Vorel
@ 2022-11-10 11:13     ` Hideaki Yoshifuji
  0 siblings, 0 replies; 7+ messages in thread
From: Hideaki Yoshifuji @ 2022-11-10 11:13 UTC (permalink / raw)
  To: Petr Vorel
  Cc: David Ahern, netdev, David S. Miller, Michal Kubecek,
	Toke Høiland-Jørgensen, Paolo Abeni, Eric Dumazet,
	Jakub Kicinski, Xin Long, Vasiliy Kulikov, Hideaki YOSHIFUJI,
	Sami Kerola, Hideaki Yoshifuji (yoshfuji)

Hi,

2022年11月10日(木) 7:01 Petr Vorel <pvorel@suse.cz>:
>
> Hi David,
>
> first, thanks a lot for having a look!

> > > BTW I wonder if it make sense to list Hideaki YOSHIFUJI as NETWORKING
> > > IPv4/IPv6 maintainer. If I'm not mistaken, it has been a decade since he was active.
>
> > > * ping: Call connect() before sending/receiving
> > > https://github.com/iputils/iputils/pull/391
> > > => I did not even knew it's possible to connect to ping socket, but looks like
> > > it works on both raw socket and on ICMP datagram socket.
>
> > no strong opinion on this one. A command line option to use connect
> > might be better than always doing the connect.
> I was thinking about it, as it'd be safer in case of some regression.
> If there is no other opinion I'll probably go this way, although I generally
> prefer not adding more command line options.

+1: Because ping utility is a basic (or fundamental) tool for
debugging networks,
I do prefer having an option like this to help low-level debugging.

--yoshfuji

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-11-10 11:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-03 11:30 ping (iputils) review (call for help) Petr Vorel
2022-11-03 15:43 ` Xin Long
2022-11-03 17:24   ` Petr Vorel
2022-11-03 20:27     ` Xin Long
2022-11-09 16:25 ` David Ahern
2022-11-09 22:01   ` Petr Vorel
2022-11-10 11:13     ` Hideaki Yoshifuji

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.