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 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.