Re: [RFC][PATCH -mm take2 3/5] add interface for netconsole usingsysfs
From: Stephen Hemminger
Date: Sat Dec 30 2006 - 00:18:40 EST
Keiichi KII wrote:
> From: Keiichi KII <k-keiichi@xxxxxxxxxxxxx>
> This patch contains the following changes.
> create a sysfs entry for netconsole in /sys/class/misc.
> This entry has elements related to netconsole as follows.
> You can change configuration of netconsole(writable attributes such as IP
> address, port number and so on) and check current configuration of netconsole.
> -+- /sys/class/misc/
> |-+- netconsole/
> |-+- port1/
> | |--- id [r--r--r--] unique port id
> | |--- remove [-w-------] if you write something to "remove",
> | | this port is removed.
IMHO this kind of "magic side effect" is a misuse of sysfs. and would
make proper locking
impossible. How do you deal with the dangling reference to the
f= open (... netconsole/port1/remove")
write(f, "", 1)
write(f, "", 1) .... this probably would crash...
Maybe having a state variable/sysfs file so you could setup the port and
turn it on/off with write.
> | |--- dev_name [r--r--r--] network interface name
Please don't use dev_name, instead use a a symlink. You see if the
device is renamed,
the dev_name will be wrong, but the symlink to the net_device kobject
should be okay.
> | |--- local_ip [rw-r--r--] source IP to use, writable
> | |--- local_port [rw-r--r--] source port number for UDP packets, writable
> | |--- local_mac [r--r--r--] source MAC address
> | |--- remote_ip [rw-r--r--] port number for logging agent, writable
> | |--- remote_port [rw-r--r--] IP address for logging agent, writable
> | ---- remote_mac [rw-r--r--] MAC address for logging agent, writable
> |--- port2/
> |--- port3/
> Signed-off-by: Keiichi KII <k-keiichi@xxxxxxxxxxxxx>
> Signed-off-by: Takayoshi Kochi <t-kochi@xxxxxxxxxxxxx>
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/