Re: [PATCH net-next] netconsole: Enable compile time configuration

From: Breno Leitao
Date: Fri Jul 28 2023 - 06:49:53 EST


On Thu, Jul 27, 2023 at 02:47:45PM -0400, Benjamin Poirier wrote:
> On 2023-07-27 09:31 -0700, Breno Leitao wrote:
> > Enable netconsole features to be set at compilation time. Create two
> > Kconfig options that allow users to set extended logs and release
> > prepending features enabled at compilation time.
> >
> > Right now, the user needs to pass command line parameters to netconsole,
> > such as "+"/"r" to enable extended logs and version prepending features.
> >
> > With these two options, the user could set the default values for the
> > features at compile time, and don't need to pass it in the command line
> > to get them enabled.
> >
> > Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
> > diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> > index 368c6f5b327e..4d0c3c532e72 100644
> > --- a/drivers/net/Kconfig
> > +++ b/drivers/net/Kconfig
> > @@ -332,6 +332,26 @@ config NETCONSOLE_DYNAMIC
> > at runtime through a userspace interface exported using configfs.
> > See <file:Documentation/networking/netconsole.rst> for details.
> >
> > +config NETCONSOLE_EXTENDED_LOG
> > + bool "Enable kernel extended message"
> > + depends on NETCONSOLE
> > + default n
> > + help
> > + Enable extended log support for netconsole. Log messages are
> > + transmitted with extended metadata header in the following format
> > + which is the same as /dev/kmsg.
> > + See <file:Documentation/networking/netconsole.rst> for details.
> > +
> > +config NETCONSOLE_APPEND_RELEASE
> ^ PREPEND
>
> > + bool "Enable kernel release version in the message"
> > + depends on NETCONSOLE_EXTENDED_LOG
> > + default n
> > + help
> > + Enable kernel release to be prepended to each netcons message. The
> > + kernel version is prepended to the first message, so, the peer knows what
> ^ each
>
> > + kernel version is send the messages.
>
> "kernel release" is one thing and "kernel version" is another:
> root@vsid:~# uname --kernel-release
> 6.5.0-rc2+
> root@vsid:~# uname --kernel-version
> #37 SMP PREEMPT_DYNAMIC Thu Jul 27 14:20:44 EDT 2023
>
> This option relates to the kernel release so please use the correct
> name consistently in the help text.

Good point. I will fix it in v2.

> > + See <file:Documentation/networking/netconsole.rst> for details.
> > +
> > config NETPOLL
> > def_bool NETCONSOLE
> >
> > diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
> > index 87f18aedd3bd..3a74f8c9cfdb 100644
>
> [...]
>
> Why is it needed to change the default for these parameters? Is there a
> case where it's not possible to specify those values in the netconsole=
> parameter?
>
> If the default is set to on, there is no way to disable it via the
> command line or module parameter, right?

This patch shouldn't be chagning the default value at all. The default
value should be =n, as it is today. Where do you see the default being
changed?

This is what the patch does, setting "default n".

+config NETCONSOLE_EXTENDED_LOG
+ bool "Enable kernel extended message"
+ depends on NETCONSOLE
+ default n

and

+config NETCONSOLE_APPEND_RELEASE
+ bool "Enable kernel release version in the message"
+ depends on NETCONSOLE_EXTENDED_LOG
+ default n


Thanks for the review.