mptcp.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
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>
>
>
>

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