[PATCH net-next v2 0/3] net: netconsole: configfs entries for boot target

From: Breno Leitao
Date: Thu Oct 05 2023 - 10:35:00 EST


There is a limitation in netconsole, where it is impossible to disable
or modify the target created from the command line parameter.
(netconsole=...).

"netconsole" cmdline parameter sets the remote IP, and if the remote IP
changes, the machine needs to be rebooted (with the new remote IP set in
the command line parameter).

This allows the user to modify a target without the need to restart the
machine.

This functionality sits on top of the dynamic target reconfiguration that is
already implemented in netconsole.

The way to modify a boot time target is creating special named configfs
directories, that will be associated with the targets coming from
`netconsole=...`.

Example:

Let's suppose you have two netconsole targets defined at boot time::

netconsole=4444@10.0.0.1/eth1,9353@10.0.0.2/12:34:56:78:9a:bc;4444@10.0.0.1/eth1,9353@10.0.0.3/12:34:56:78:9a:bc

You can modify these targets in runtime by creating the following targets::

$ mkdir cmdline1
$ cat cmdline1/remote_ip
10.0.0.3
$ echo 0 > cmdline1/enabled
$ echo 10.0.0.4 > cmdline1/remote_ip
$ echo 1 > cmdline1/enabled


Change Log:
===========
* V1 -> V2:
* Replaced the name of the NETCONSOLE_PARAM_TARGET_NAME macro
* Improved the code documentation
* Improved the user documentation

Breno Leitao (3):
netconsole: Initialize configfs_item for default targets
netconsole: Attach cmdline target to dynamic target
Documentation: netconsole: add support for cmdline targets

Documentation/networking/netconsole.rst | 22 ++++++++--
drivers/net/netconsole.c | 55 ++++++++++++++++++++++++-
2 files changed, 72 insertions(+), 5 deletions(-)

--
2.34.1