mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	net: netconsole: add docs for appending netconsole user data
Add a new User Data section to the netconsole docs to describe the appending of user data capability (for netconsole dynamic configuration) with usage and netconsole output examples. Co-developed-by: Breno Leitao <leitao@debian.org> Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Matthew Wood <thepacketgeek@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									ae001dc679
								
							
						
					
					
						commit
						aa7b608d69
					
				
					 1 changed files with 66 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -15,6 +15,8 @@ Extended console support by Tejun Heo <tj@kernel.org>, May 1 2015
 | 
			
		|||
 | 
			
		||||
Release prepend support by Breno Leitao <leitao@debian.org>, Jul 7 2023
 | 
			
		||||
 | 
			
		||||
Userdata append support by Matthew Wood <thepacketgeek@gmail.com>, Jan 22 2024
 | 
			
		||||
 | 
			
		||||
Please send bug reports to Matt Mackall <mpm@selenic.com>
 | 
			
		||||
Satyam Sharma <satyam.sharma@gmail.com>, and Cong Wang <xiyou.wangcong@gmail.com>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -171,6 +173,70 @@ You can modify these targets in runtime by creating the following targets::
 | 
			
		|||
 cat cmdline1/remote_ip
 | 
			
		||||
 10.0.0.3
 | 
			
		||||
 | 
			
		||||
Append User Data
 | 
			
		||||
----------------
 | 
			
		||||
 | 
			
		||||
Custom user data can be appended to the end of messages with netconsole
 | 
			
		||||
dynamic configuration enabled. User data entries can be modified without
 | 
			
		||||
changing the "enabled" attribute of a target.
 | 
			
		||||
 | 
			
		||||
Directories (keys) under `userdata` are limited to 54 character length, and
 | 
			
		||||
data in `userdata/<key>/value` are limited to 200 bytes::
 | 
			
		||||
 | 
			
		||||
 cd /sys/kernel/config/netconsole && mkdir cmdline0
 | 
			
		||||
 cd cmdline0
 | 
			
		||||
 mkdir userdata/foo
 | 
			
		||||
 echo bar > userdata/foo/value
 | 
			
		||||
 mkdir userdata/qux
 | 
			
		||||
 echo baz > userdata/qux/value
 | 
			
		||||
 | 
			
		||||
Messages will now include this additional user data::
 | 
			
		||||
 | 
			
		||||
 echo "This is a message" > /dev/kmsg
 | 
			
		||||
 | 
			
		||||
Sends::
 | 
			
		||||
 | 
			
		||||
 12,607,22085407756,-;This is a message
 | 
			
		||||
 foo=bar
 | 
			
		||||
 qux=baz
 | 
			
		||||
 | 
			
		||||
Preview the userdata that will be appended with::
 | 
			
		||||
 | 
			
		||||
 cd /sys/kernel/config/netconsole/cmdline0/userdata
 | 
			
		||||
 for f in `ls userdata`; do echo $f=$(cat userdata/$f/value); done
 | 
			
		||||
 | 
			
		||||
If a `userdata` entry is created but no data is written to the `value` file,
 | 
			
		||||
the entry will be omitted from netconsole messages::
 | 
			
		||||
 | 
			
		||||
 cd /sys/kernel/config/netconsole && mkdir cmdline0
 | 
			
		||||
 cd cmdline0
 | 
			
		||||
 mkdir userdata/foo
 | 
			
		||||
 echo bar > userdata/foo/value
 | 
			
		||||
 mkdir userdata/qux
 | 
			
		||||
 | 
			
		||||
The `qux` key is omitted since it has no value::
 | 
			
		||||
 | 
			
		||||
 echo "This is a message" > /dev/kmsg
 | 
			
		||||
 12,607,22085407756,-;This is a message
 | 
			
		||||
 foo=bar
 | 
			
		||||
 | 
			
		||||
Delete `userdata` entries with `rmdir`::
 | 
			
		||||
 | 
			
		||||
 rmdir /sys/kernel/config/netconsole/cmdline0/userdata/qux
 | 
			
		||||
 | 
			
		||||
.. warning::
 | 
			
		||||
   When writing strings to user data values, input is broken up per line in
 | 
			
		||||
   configfs store calls and this can cause confusing behavior::
 | 
			
		||||
 | 
			
		||||
     mkdir userdata/testing
 | 
			
		||||
     printf "val1\nval2" > userdata/testing/value
 | 
			
		||||
     # userdata store value is called twice, first with "val1\n" then "val2"
 | 
			
		||||
     # so "val2" is stored, being the last value stored
 | 
			
		||||
     cat userdata/testing/value
 | 
			
		||||
     val2
 | 
			
		||||
 | 
			
		||||
   It is recommended to not write user data values with newlines.
 | 
			
		||||
 | 
			
		||||
Extended console:
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue