netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2] netconsole: Enable compile time configuration
@ 2023-07-31  8:35 Breno Leitao
  2023-08-01  2:52 ` Jakub Kicinski
  0 siblings, 1 reply; 2+ messages in thread
From: Breno Leitao @ 2023-07-31  8:35 UTC (permalink / raw)
  To: rdunlap, benjamin.poirier, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni
  Cc: leit, open list:NETWORKING DRIVERS, open list

Enable netconsole features to be set at compilation time. Create two
Kconfig options that allow users to set extended logs and release
prepending features 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, simplifying the command line.

Signed-off-by: Breno Leitao <leitao@debian.org>
---
  v1 -> v2:
	* Improvements in the Kconfig help section.
---
 drivers/net/Kconfig      | 22 ++++++++++++++++++++++
 drivers/net/netconsole.c |  5 +++++
 2 files changed, 27 insertions(+)

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 368c6f5b327e..2c7b4b634a8f 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -332,6 +332,28 @@ 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 "Set kernel extended message as default"
+	depends on NETCONSOLE
+	default n
+	help
+	  Set extended log support for netconsole message. If this option is
+	  set, log messages are transmitted with extended metadata header in a
+	  format similar to /dev/kmsg.  See
+	  <file:Documentation/networking/netconsole.rst> for details.
+
+config NETCONSOLE_PREPEND_RELEASE
+	bool "Prepend kernel release version in the message"
+	depends on NETCONSOLE_EXTENDED_LOG
+	default n
+	help
+	  Set kernel release to be prepended to each netconsole message by
+	  default. If this option is set, the kernel release is prepended into
+	  the first field of every netconsole message, so, the netconsole
+	  server/peer can easily identify what kernel release is logging each
+	  message.  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..8cadbcd699ae 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -181,6 +181,11 @@ static struct netconsole_target *alloc_param_target(char *target_config)
 	if (!nt)
 		goto fail;
 
+	if (IS_ENABLED(CONFIG_NETCONSOLE_EXTENDED_LOG))
+		nt->extended = true;
+	if (IS_ENABLED(CONFIG_NETCONSOLE_PREPEND_RELEASE))
+		nt->release = true;
+
 	nt->np.name = "netconsole";
 	strscpy(nt->np.dev_name, "eth0", IFNAMSIZ);
 	nt->np.local_port = 6665;
-- 
2.34.1


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

* Re: [PATCH net-next v2] netconsole: Enable compile time configuration
  2023-07-31  8:35 [PATCH net-next v2] netconsole: Enable compile time configuration Breno Leitao
@ 2023-08-01  2:52 ` Jakub Kicinski
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Kicinski @ 2023-08-01  2:52 UTC (permalink / raw)
  To: Breno Leitao
  Cc: rdunlap, benjamin.poirier, David S. Miller, Eric Dumazet,
	Paolo Abeni, leit, open list:NETWORKING DRIVERS, open list

On Mon, 31 Jul 2023 01:35:41 -0700 Breno Leitao wrote:
> +config NETCONSOLE_EXTENDED_LOG
> +	bool "Set kernel extended message as default"
> +	depends on NETCONSOLE
> +	default n
> +	help
> +	  Set extended log support for netconsole message. If this option is
> +	  set, log messages are transmitted with extended metadata header in a
> +	  format similar to /dev/kmsg.  See
> +	  <file:Documentation/networking/netconsole.rst> for details.
> +
> +config NETCONSOLE_PREPEND_RELEASE
> +	bool "Prepend kernel release version in the message"

... by default

> +	depends on NETCONSOLE_EXTENDED_LOG
> +	default n
> +	help
> +	  Set kernel release to be prepended to each netconsole message by
> +	  default. If this option is set, the kernel release is prepended into
> +	  the first field of every netconsole message, so, the netconsole
> +	  server/peer can easily identify what kernel release is logging each
> +	  message.  See <file:Documentation/networking/netconsole.rst> for
> +	  details.

I had to look at the code to see what this does, exactly.

I think you either need to make similar changes to
make_netconsole_target() so that instances created via sysfs
have the same default.

Or rewrite the help message to talk about forcing kernel
command line arguments, rather than setting defaults.
-- 
pw-bot: cr

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

end of thread, other threads:[~2023-08-01  2:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-31  8:35 [PATCH net-next v2] netconsole: Enable compile time configuration Breno Leitao
2023-08-01  2:52 ` Jakub Kicinski

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