From: Mat Martineau <martineau@kernel.org>
To: Matthieu Baerts <matthieu.baerts@tessares.net>
Cc: mptcp@lists.linux.dev
Subject: Re: [PATCH mptcp-next] net: skip printing "link become ready" v6 msg
Date: Tue, 23 May 2023 17:20:11 -0700 (PDT) [thread overview]
Message-ID: <614e76ac-184e-c553-af72-084f792e60b0@kernel.org> (raw)
In-Reply-To: <20230522-mptcp-skip_print_link_becomes_ready-v1-1-9d5f28f19440@tessares.net>
On Mon, 22 May 2023, Matthieu Baerts wrote:
> This following message is printed in the console each time a network
> device configured with an IPv6 addresses is ready to be used:
>
> ADDRCONF(NETDEV_CHANGE): <iface>: link becomes ready
>
> When netns are being extensively used, e.g. by re-creating netns with
> veth to discuss with each other for testing purposes like mptcp_join.sh
> selftest is doing, it generates a lot of messages: more than 700 with
> the latest version.
>
> This message can be useful in many situations but in some, it floods the
> logs without providing any useful input. The proposition here is to have
> a new sysctl knob to easily skip this specific message.
>
> Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
> ---
> include/net/netns/ipv6.h | 1 +
> net/ipv6/addrconf.c | 5 +++--
> net/ipv6/sysctl_net_ipv6.c | 9 +++++++++
> tools/testing/selftests/net/mptcp/mptcp_join.sh | 1 +
> 4 files changed, 14 insertions(+), 2 deletions(-)
>
Hi Matthieu -
Using a sysctl for this seems like overkill. I noticed a similar change
for ADDRCONF(NETDEV_UP) that changed a pr_info() to pr_debug():
7c62b8dd5ca89dabd9f455d19e663bad60951bd5
Maybe that's more suitable?
If you did want to keep pursuing the sysctl, the patch would need to
update Documentation/networking/ip-sysctl.rst
Thanks,
Mat
> diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h
> index 3cceb3e9320b..721abf86052f 100644
> --- a/include/net/netns/ipv6.h
> +++ b/include/net/netns/ipv6.h
> @@ -56,6 +56,7 @@ struct netns_sysctl_ipv6 {
> bool skip_notify_on_dev_down;
> u8 fib_notify_on_flag_change;
> u8 icmpv6_error_anycast_as_unicast;
> + bool skip_print_link_becomes_ready;
> };
>
> struct netns_ipv6 {
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index 3797917237d0..9cf7b4932309 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -3633,8 +3633,9 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
> idev->if_flags |= IF_READY;
> }
>
> - pr_info("ADDRCONF(NETDEV_CHANGE): %s: link becomes ready\n",
> - dev->name);
> + if (!net->ipv6.sysctl.skip_print_link_becomes_ready)
> + pr_info("ADDRCONF(NETDEV_CHANGE): %s: link becomes ready\n",
> + dev->name);
>
> run_pending = 1;
> }
> diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c
> index 94a0a294c6a1..c9e82377a8fa 100644
> --- a/net/ipv6/sysctl_net_ipv6.c
> +++ b/net/ipv6/sysctl_net_ipv6.c
> @@ -213,6 +213,15 @@ static struct ctl_table ipv6_table_template[] = {
> .proc_handler = proc_doulongvec_minmax,
> .extra2 = &ioam6_id_wide_max,
> },
> + {
> + .procname = "skip_print_link_becomes_ready",
> + .data = &init_net.ipv6.sysctl.skip_print_link_becomes_ready,
> + .maxlen = sizeof(int),
> + .mode = 0644,
> + .proc_handler = proc_dointvec_minmax,
> + .extra1 = SYSCTL_ZERO,
> + .extra2 = SYSCTL_ONE,
> + },
> { }
> };
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index 0044d87556dd..27179e9175be 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -84,6 +84,7 @@ init_partial()
> ip netns exec $netns sysctl -q net.mptcp.pm_type=0
> ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=0
> ip netns exec $netns sysctl -q net.ipv4.conf.default.rp_filter=0
> + ip netns exec $netns sysctl -q net.ipv6.skip_print_link_becomes_ready=1 2>/dev/null || true
> if [ $checksum -eq 1 ]; then
> ip netns exec $netns sysctl -q net.mptcp.checksum_enabled=1
> fi
>
> ---
> base-commit: 194dd0efe579cb5d3a746d248b3476f4b3fc0b48
> change-id: 20230522-mptcp-skip_print_link_becomes_ready-af50c71a9daa
>
> Best regards,
> --
> Matthieu Baerts <matthieu.baerts@tessares.net>
>
>
>
next prev parent reply other threads:[~2023-05-24 0:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-22 16:40 [PATCH mptcp-next] net: skip printing "link become ready" v6 msg Matthieu Baerts
2023-05-22 18:16 ` net: skip printing "link become ready" v6 msg: Tests Results MPTCP CI
2023-05-24 0:20 ` Mat Martineau [this message]
2023-05-24 8:29 ` [PATCH mptcp-next] net: skip printing "link become ready" v6 msg Matthieu Baerts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=614e76ac-184e-c553-af72-084f792e60b0@kernel.org \
--to=martineau@kernel.org \
--cc=matthieu.baerts@tessares.net \
--cc=mptcp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).