Commit fad361a2 authored by Breno Leitao's avatar Breno Leitao Committed by Jakub Kicinski
Browse files

netconsole: Enable compile time configuration



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: default avatarBreno Leitao <leitao@debian.org>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20230811093158.1678322-3-leitao@debian.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b0a9e2c9
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -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 by 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.

config NETPOLL
	def_bool NETCONSOLE

+5 −0
Original line number Diff line number Diff line
@@ -178,6 +178,11 @@ static struct netconsole_target *alloc_and_init(void)
	if (!nt)
		return nt;

	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;