2012-08-01 14:06:53

by Rob Landley

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

On 07/29/2012 03:40 AM, Milton Miller wrote:
> [adding Rob as Doc maintanier]
>
> On Sat, 28 Jul 2012 about 11:08:16 -0000, Dirk Gouders wrote:
>> Borislav Petkov <[email protected]> writes:
>>
>>> On Fri, Jul 27, 2012 at 11:24:53AM +0200, Dirk Gouders wrote:
>>>> Cong Wang <[email protected]> writes:
>>>>
>>>>> On Fri, Jul 27, 2012 at 2:35 PM, Dirk Gouders
>>>>> <[email protected]> wrote:
>>>>>> Hi Jesse,
>>>>>>
>>>>>> I would like to ask you to check if the documentation of "nc" in
>>>>>> netconsole.txt is still correct. I tried two different netcat packages
>>>>>> and both require "-p" to specify the listening port. I am wondering if
>>>>>> that changed after the use of "nc" has been documented.
>>>>>
>>>>> On Fedora 16, `nc -u -l <port number>` works fine.
>>>>
>>>> Thanks for checking that.
>>>>
>>>> If the information I found is correct, Fedora uses OpenBSD's nc
>>>> codebase. The two netcat packages I tested on a Gentoo system differ in
>>>> requiring the -p switch for the port specification.
>>>
>>> So say exactly that in the doc: that the *BSD's version of nc doesn't
>>> need the port number specified with '-p' and you're covered.
>> OK, I tried that in the attached patch.
>> I'm not sure if every exeption needs to/should be documented, though.
>>
>> >From 3cdeac3e814471053129145c5fa8391acb365fd8 Mon Sep 17 00:00:00 2001
>> From: Dirk Gouders <[email protected]>
>> Date: Sat, 28 Jul 2012 12:32:49 +0200
>> Subject: [PATCH] netconsole.txt: non-BSD versions of nc(1) require '-p'
>> switch
>>
>> Gentoo for example uses non-BSD versions of nc(1) which require
>> the '-p' switch to specify the listening port.
>>
>> ---
>> Documentation/networking/netconsole.txt | 3 ++-
>> 1 files changed, 2 insertions(+), 1 deletions(-)

Did this ever resolve to a specific recommended patch? The one at the
start of the thread:

http://lkml.indiana.edu/hypermail/linux/kernel/1207.3/01995.html

Apparently isn't it...?

Rob
--
GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code.
Either it's "mere aggregation", or a license violation. Pick one.


2012-08-01 15:47:04

by Dirk Gouders

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

Rob Landley <[email protected]> writes:

> On 07/29/2012 03:40 AM, Milton Miller wrote:
>> [adding Rob as Doc maintanier]
>>
>> On Sat, 28 Jul 2012 about 11:08:16 -0000, Dirk Gouders wrote:
>>> Borislav Petkov <[email protected]> writes:
>>>
>>>> On Fri, Jul 27, 2012 at 11:24:53AM +0200, Dirk Gouders wrote:
>>>>> Cong Wang <[email protected]> writes:
>>>>>
>>>>>> On Fri, Jul 27, 2012 at 2:35 PM, Dirk Gouders
>>>>>> <[email protected]> wrote:
>>>>>>> Hi Jesse,
>>>>>>>
>>>>>>> I would like to ask you to check if the documentation of "nc" in
>>>>>>> netconsole.txt is still correct. I tried two different netcat packages
>>>>>>> and both require "-p" to specify the listening port. I am wondering if
>>>>>>> that changed after the use of "nc" has been documented.
>>>>>>
>>>>>> On Fedora 16, `nc -u -l <port number>` works fine.
>>>>>
>>>>> Thanks for checking that.
>>>>>
>>>>> If the information I found is correct, Fedora uses OpenBSD's nc
>>>>> codebase. The two netcat packages I tested on a Gentoo system differ in
>>>>> requiring the -p switch for the port specification.
>>>>
>>>> So say exactly that in the doc: that the *BSD's version of nc doesn't
>>>> need the port number specified with '-p' and you're covered.
>>> OK, I tried that in the attached patch.
>>> I'm not sure if every exeption needs to/should be documented, though.
>>>
>>> >From 3cdeac3e814471053129145c5fa8391acb365fd8 Mon Sep 17 00:00:00 2001
>>> From: Dirk Gouders <[email protected]>
>>> Date: Sat, 28 Jul 2012 12:32:49 +0200
>>> Subject: [PATCH] netconsole.txt: non-BSD versions of nc(1) require '-p'
>>> switch
>>>
>>> Gentoo for example uses non-BSD versions of nc(1) which require
>>> the '-p' switch to specify the listening port.
>>>
>>> ---
>>> Documentation/networking/netconsole.txt | 3 ++-
>>> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> Did this ever resolve to a specific recommended patch? The one at the
> start of the thread:
>
> http://lkml.indiana.edu/hypermail/linux/kernel/1207.3/01995.html
>
> Apparently isn't it...?

Sorry for the delay.
I tested the situation on a few distributions and am still thinking
about a proper way to write it in a way without netconsole.txt becoming
a kind of "netcat.txt".

I would be glad about comments to what I currently have -- also, because
I am not a native English speaker:

------------------------------------------------------------------------
The remote host can run syslogd or netcat to receive the kernel
messages. On distributions using a BSD-based netcat version
(e.g. Fedora, openSUSE and Ubuntu) the listening port must be
specified without the -p switch:

'nc -u -l -p <port>' / 'nc -u -l <port>' or
'netcat -u -l -p <port>' / 'netcat -u -l <port>'
------------------------------------------------------------------------

At the end, I also attach what I have noted during the tests with the
different distributions.

Dirk

------------------------------------------------------------------------
Problem on systems where the gnu-netcat package provides a symbolic
link /usr/bin/nc -> /usr/bin/netcat:

gnu-netcat requires -p to specify the local port but does not complain
if invoked as `nc -l -u <port>'; you need to use -v to see that it
does not do what you might expect:

# nc -l -u 4444 -v
Warning: Inverse name lookup failed for `0.0.17.92'
------------------------------------------------------------------------

Distro Package needs -p
Command invocation
========================================================================
Arch gnu-netcat yes
(Website nc | netcat
documentation)
openbsd-netcat no
nc.openbsd
------------------------------------------------------------------------
Debian-6.0.5 netcat-openbsd no
nc | netcat | nc.openbsd

netcat / netcat-traditional (preinstalled) yes
nc | netcat

netcat6 yes
nc | netcat | nc6
------------------------------------------------------------------------
Fedora-17 nc (preinstalled) no
nc

nc6
nc6 yes
------------------------------------------------------------------------
Gentoo gnu-netcat yes
netcat

netcat yes
nc

netcat6 yes
nc | nc6
------------------------------------------------------------------------
OpenSUSE-12.1 netcat-openbsd no
nc | netcat
------------------------------------------------------------------------
Ubuntu-12.04 netcat-openbsd (preinstalled) no
Desktop nc | netcat | nc.openbsd

netcat / netcat-traditional yes
nc | netcat

netcat6 yes
nc | netcat | nc6
------------------------------------------------------------------------

2012-08-02 20:39:49

by Dirk Gouders

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

Dirk Gouders <[email protected]> writes:

> Rob Landley <[email protected]> writes:
>
>> On 07/29/2012 03:40 AM, Milton Miller wrote:
>>> [adding Rob as Doc maintanier]
>>>
>>> On Sat, 28 Jul 2012 about 11:08:16 -0000, Dirk Gouders wrote:
>>>> Borislav Petkov <[email protected]> writes:
>>>>
>>>>> On Fri, Jul 27, 2012 at 11:24:53AM +0200, Dirk Gouders wrote:
>>>>>> Cong Wang <[email protected]> writes:
>>>>>>
>>>>>>> On Fri, Jul 27, 2012 at 2:35 PM, Dirk Gouders
>>>>>>> <[email protected]> wrote:
>>>>>>>> Hi Jesse,
>>>>>>>>
>>>>>>>> I would like to ask you to check if the documentation of "nc" in
>>>>>>>> netconsole.txt is still correct. I tried two different netcat packages
>>>>>>>> and both require "-p" to specify the listening port. I am wondering if
>>>>>>>> that changed after the use of "nc" has been documented.
>>>>>>>
>>>>>>> On Fedora 16, `nc -u -l <port number>` works fine.
>>>>>>
>>>>>> Thanks for checking that.
>>>>>>
>>>>>> If the information I found is correct, Fedora uses OpenBSD's nc
>>>>>> codebase. The two netcat packages I tested on a Gentoo system differ in
>>>>>> requiring the -p switch for the port specification.
>>>>>
>>>>> So say exactly that in the doc: that the *BSD's version of nc doesn't
>>>>> need the port number specified with '-p' and you're covered.
>>>> OK, I tried that in the attached patch.
>>>> I'm not sure if every exeption needs to/should be documented, though.
>>>>
>>>> >From 3cdeac3e814471053129145c5fa8391acb365fd8 Mon Sep 17 00:00:00 2001
>>>> From: Dirk Gouders <[email protected]>
>>>> Date: Sat, 28 Jul 2012 12:32:49 +0200
>>>> Subject: [PATCH] netconsole.txt: non-BSD versions of nc(1) require '-p'
>>>> switch
>>>>
>>>> Gentoo for example uses non-BSD versions of nc(1) which require
>>>> the '-p' switch to specify the listening port.
>>>>
>>>> ---
>>>> Documentation/networking/netconsole.txt | 3 ++-
>>>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> Did this ever resolve to a specific recommended patch? The one at the
>> start of the thread:
>>
>> http://lkml.indiana.edu/hypermail/linux/kernel/1207.3/01995.html
>>
>> Apparently isn't it...?
>
> Sorry for the delay.
> I tested the situation on a few distributions and am still thinking
> about a proper way to write it in a way without netconsole.txt becoming
> a kind of "netcat.txt".
>
> I would be glad about comments to what I currently have -- also, because
> I am not a native English speaker:
>
> ------------------------------------------------------------------------
> The remote host can run syslogd or netcat to receive the kernel
> messages. On distributions using a BSD-based netcat version
> (e.g. Fedora, openSUSE and Ubuntu) the listening port must be
> specified without the -p switch:
>
> 'nc -u -l -p <port>' / 'nc -u -l <port>' or
> 'netcat -u -l -p <port>' / 'netcat -u -l <port>'
> ------------------------------------------------------------------------
>
> At the end, I also attach what I have noted during the tests with the
> different distributions.
>
> Dirk
>
> ------------------------------------------------------------------------
> Problem on systems where the gnu-netcat package provides a symbolic
> link /usr/bin/nc -> /usr/bin/netcat:
>
> gnu-netcat requires -p to specify the local port but does not complain
> if invoked as `nc -l -u <port>'; you need to use -v to see that it
> does not do what you might expect:
>
> # nc -l -u 4444 -v
> Warning: Inverse name lookup failed for `0.0.17.92'
> ------------------------------------------------------------------------
>
> Distro Package needs -p
> Command invocation
> ========================================================================
> Arch gnu-netcat yes
> (Website nc | netcat
> documentation)
> openbsd-netcat no
> nc.openbsd
> ------------------------------------------------------------------------
> Debian-6.0.5 netcat-openbsd no
> nc | netcat | nc.openbsd
>
> netcat / netcat-traditional (preinstalled) yes
> nc | netcat
>
> netcat6 yes
> nc | netcat | nc6
> ------------------------------------------------------------------------
> Fedora-17 nc (preinstalled) no
> nc
>
> nc6
> nc6 yes
> ------------------------------------------------------------------------
> Gentoo gnu-netcat yes
> netcat
>
> netcat yes
> nc
>
> netcat6 yes
> nc | nc6
> ------------------------------------------------------------------------
> OpenSUSE-12.1 netcat-openbsd no
> nc | netcat
> ------------------------------------------------------------------------
> Ubuntu-12.04 netcat-openbsd (preinstalled) no
> Desktop nc | netcat | nc.openbsd
>
> netcat / netcat-traditional yes
> nc | netcat
>
> netcat6 yes
> nc | netcat | nc6
> ------------------------------------------------------------------------

Here is a patch that also includes Jan's suggestion for socat(1).

The problem with the patch is that the netcat part does not cover every
possible distribution/netcat-package situation but in my opinion it is a
bearable compromise with respect to keeping the example section compact.

Dirk

>From d756d2750e4cf07d3c0942dc3c491d57631d4338 Mon Sep 17 00:00:00 2001
From: Dirk Gouders <[email protected]>
Date: Thu, 2 Aug 2012 22:20:16 +0200
Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages

There are at least 4 implementations of netcat with the BSD-based
being the only one that has to be used without the -p switch to
specify the listening port.

Jan Engelhardt suggested to add an example for socat(1).
---
Documentation/networking/netconsole.txt | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/Documentation/networking/netconsole.txt b/Documentation/networking/netconsole.txt
index 8d02207..2e9e0ae2 100644
--- a/Documentation/networking/netconsole.txt
+++ b/Documentation/networking/netconsole.txt
@@ -51,8 +51,23 @@ Built-in netconsole starts immediately after the TCP stack is
initialized and attempts to bring up the supplied dev at the supplied
address.

-The remote host can run either 'netcat -u -l -p <port>',
-'nc -l -u <port>' or syslogd.
+The remote host has several options to receive the kernel messages,
+for example:
+
+1) syslogd
+
+2) netcat
+
+ On distributions using a BSD-based netcat version (e.g. Fedora,
+ openSUSE and Ubuntu) the listening port must be specified without
+ the -p switch:
+
+ 'nc -u -l -p <port>' / 'nc -u -l <port>' or
+ 'netcat -u -l -p <port>' / 'netcat -u -l <port>'
+
+3) socat
+
+ 'socat udp-recv:<port> -'

Dynamic reconfiguration:
========================
--
1.7.8.6

2012-08-02 20:41:09

by Jesse Barnes

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

On Thu, 02 Aug 2012 22:39:28 +0200
Dirk Gouders <[email protected]> wrote:

> Dirk Gouders <[email protected]> writes:
>
> > Rob Landley <[email protected]> writes:
> >
> >> On 07/29/2012 03:40 AM, Milton Miller wrote:
> >>> [adding Rob as Doc maintanier]
> >>>
> >>> On Sat, 28 Jul 2012 about 11:08:16 -0000, Dirk Gouders wrote:
> >>>> Borislav Petkov <[email protected]> writes:
> >>>>
> >>>>> On Fri, Jul 27, 2012 at 11:24:53AM +0200, Dirk Gouders wrote:
> >>>>>> Cong Wang <[email protected]> writes:
> >>>>>>
> >>>>>>> On Fri, Jul 27, 2012 at 2:35 PM, Dirk Gouders
> >>>>>>> <[email protected]> wrote:
> >>>>>>>> Hi Jesse,
> >>>>>>>>
> >>>>>>>> I would like to ask you to check if the documentation of "nc" in
> >>>>>>>> netconsole.txt is still correct. I tried two different netcat packages
> >>>>>>>> and both require "-p" to specify the listening port. I am wondering if
> >>>>>>>> that changed after the use of "nc" has been documented.
> >>>>>>>
> >>>>>>> On Fedora 16, `nc -u -l <port number>` works fine.
> >>>>>>
> >>>>>> Thanks for checking that.
> >>>>>>
> >>>>>> If the information I found is correct, Fedora uses OpenBSD's nc
> >>>>>> codebase. The two netcat packages I tested on a Gentoo system differ in
> >>>>>> requiring the -p switch for the port specification.
> >>>>>
> >>>>> So say exactly that in the doc: that the *BSD's version of nc doesn't
> >>>>> need the port number specified with '-p' and you're covered.
> >>>> OK, I tried that in the attached patch.
> >>>> I'm not sure if every exeption needs to/should be documented, though.
> >>>>
> >>>> >From 3cdeac3e814471053129145c5fa8391acb365fd8 Mon Sep 17 00:00:00 2001
> >>>> From: Dirk Gouders <[email protected]>
> >>>> Date: Sat, 28 Jul 2012 12:32:49 +0200
> >>>> Subject: [PATCH] netconsole.txt: non-BSD versions of nc(1) require '-p'
> >>>> switch
> >>>>
> >>>> Gentoo for example uses non-BSD versions of nc(1) which require
> >>>> the '-p' switch to specify the listening port.
> >>>>
> >>>> ---
> >>>> Documentation/networking/netconsole.txt | 3 ++-
> >>>> 1 files changed, 2 insertions(+), 1 deletions(-)
> >>
> >> Did this ever resolve to a specific recommended patch? The one at the
> >> start of the thread:
> >>
> >> http://lkml.indiana.edu/hypermail/linux/kernel/1207.3/01995.html
> >>
> >> Apparently isn't it...?
> >
> > Sorry for the delay.
> > I tested the situation on a few distributions and am still thinking
> > about a proper way to write it in a way without netconsole.txt becoming
> > a kind of "netcat.txt".
> >
> > I would be glad about comments to what I currently have -- also, because
> > I am not a native English speaker:
> >
> > ------------------------------------------------------------------------
> > The remote host can run syslogd or netcat to receive the kernel
> > messages. On distributions using a BSD-based netcat version
> > (e.g. Fedora, openSUSE and Ubuntu) the listening port must be
> > specified without the -p switch:
> >
> > 'nc -u -l -p <port>' / 'nc -u -l <port>' or
> > 'netcat -u -l -p <port>' / 'netcat -u -l <port>'
> > ------------------------------------------------------------------------
> >
> > At the end, I also attach what I have noted during the tests with the
> > different distributions.
> >
> > Dirk
> >
> > ------------------------------------------------------------------------
> > Problem on systems where the gnu-netcat package provides a symbolic
> > link /usr/bin/nc -> /usr/bin/netcat:
> >
> > gnu-netcat requires -p to specify the local port but does not complain
> > if invoked as `nc -l -u <port>'; you need to use -v to see that it
> > does not do what you might expect:
> >
> > # nc -l -u 4444 -v
> > Warning: Inverse name lookup failed for `0.0.17.92'
> > ------------------------------------------------------------------------
> >
> > Distro Package needs -p
> > Command invocation
> > ========================================================================
> > Arch gnu-netcat yes
> > (Website nc | netcat
> > documentation)
> > openbsd-netcat no
> > nc.openbsd
> > ------------------------------------------------------------------------
> > Debian-6.0.5 netcat-openbsd no
> > nc | netcat | nc.openbsd
> >
> > netcat / netcat-traditional (preinstalled) yes
> > nc | netcat
> >
> > netcat6 yes
> > nc | netcat | nc6
> > ------------------------------------------------------------------------
> > Fedora-17 nc (preinstalled) no
> > nc
> >
> > nc6
> > nc6 yes
> > ------------------------------------------------------------------------
> > Gentoo gnu-netcat yes
> > netcat
> >
> > netcat yes
> > nc
> >
> > netcat6 yes
> > nc | nc6
> > ------------------------------------------------------------------------
> > OpenSUSE-12.1 netcat-openbsd no
> > nc | netcat
> > ------------------------------------------------------------------------
> > Ubuntu-12.04 netcat-openbsd (preinstalled) no
> > Desktop nc | netcat | nc.openbsd
> >
> > netcat / netcat-traditional yes
> > nc | netcat
> >
> > netcat6 yes
> > nc | netcat | nc6
> > ------------------------------------------------------------------------
>
> Here is a patch that also includes Jan's suggestion for socat(1).
>
> The problem with the patch is that the netcat part does not cover every
> possible distribution/netcat-package situation but in my opinion it is a
> bearable compromise with respect to keeping the example section compact.
>
> Dirk
>
> From d756d2750e4cf07d3c0942dc3c491d57631d4338 Mon Sep 17 00:00:00 2001
> From: Dirk Gouders <[email protected]>
> Date: Thu, 2 Aug 2012 22:20:16 +0200
> Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages
>
> There are at least 4 implementations of netcat with the BSD-based
> being the only one that has to be used without the -p switch to
> specify the listening port.
>
> Jan Engelhardt suggested to add an example for socat(1).
> ---
> Documentation/networking/netconsole.txt | 19 +++++++++++++++++--
> 1 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/networking/netconsole.txt b/Documentation/networking/netconsole.txt
> index 8d02207..2e9e0ae2 100644
> --- a/Documentation/networking/netconsole.txt
> +++ b/Documentation/networking/netconsole.txt
> @@ -51,8 +51,23 @@ Built-in netconsole starts immediately after the TCP stack is
> initialized and attempts to bring up the supplied dev at the supplied
> address.
>
> -The remote host can run either 'netcat -u -l -p <port>',
> -'nc -l -u <port>' or syslogd.
> +The remote host has several options to receive the kernel messages,
> +for example:
> +
> +1) syslogd
> +
> +2) netcat
> +
> + On distributions using a BSD-based netcat version (e.g. Fedora,
> + openSUSE and Ubuntu) the listening port must be specified without
> + the -p switch:
> +
> + 'nc -u -l -p <port>' / 'nc -u -l <port>' or
> + 'netcat -u -l -p <port>' / 'netcat -u -l <port>'
> +
> +3) socat
> +
> + 'socat udp-recv:<port> -'
>
> Dynamic reconfiguration:
> ========================

Looks good to me, thanks Dirk.

Reviewed-by: Jesse Barnes <[email protected]>

--
Jesse Barnes, Intel Open Source Technology Center

2012-08-03 05:30:22

by Cong Wang

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

On Fri, Aug 3, 2012 at 4:39 AM, Dirk Gouders
<[email protected]> wrote:
>
> From d756d2750e4cf07d3c0942dc3c491d57631d4338 Mon Sep 17 00:00:00 2001
> From: Dirk Gouders <[email protected]>
> Date: Thu, 2 Aug 2012 22:20:16 +0200
> Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages
>
> There are at least 4 implementations of netcat with the BSD-based
> being the only one that has to be used without the -p switch to
> specify the listening port.
>
> Jan Engelhardt suggested to add an example for socat(1).


Looks good, but you missed your SOB.

2012-08-03 06:33:42

by Dirk Gouders

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

Cong Wang <[email protected]> writes:

> On Fri, Aug 3, 2012 at 4:39 AM, Dirk Gouders
> <[email protected]> wrote:
>>
>> From d756d2750e4cf07d3c0942dc3c491d57631d4338 Mon Sep 17 00:00:00 2001
>> From: Dirk Gouders <[email protected]>
>> Date: Thu, 2 Aug 2012 22:20:16 +0200
>> Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages
>>
>> There are at least 4 implementations of netcat with the BSD-based
>> being the only one that has to be used without the -p switch to
>> specify the listening port.
>>
>> Jan Engelhardt suggested to add an example for socat(1).
>
>
> Looks good, but you missed your SOB.

Thanks for noticing that, attached is the amended patch.

Dirk

>From b3aec70d785d338b1b643fece6606cd32addaf0c Mon Sep 17 00:00:00 2001
From: Dirk Gouders <[email protected]>
Date: Thu, 2 Aug 2012 22:20:16 +0200
Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages

There are at least 4 implementations of netcat with the BSD-based
being the only one that has to be used without the -p switch to
specify the listening port.

Jan Engelhardt suggested to add an example for socat(1).

Signed-off-by: Dirk Gouders <[email protected]>
---
Documentation/networking/netconsole.txt | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/Documentation/networking/netconsole.txt b/Documentation/networking/netconsole.txt
index 8d02207..2e9e0ae2 100644
--- a/Documentation/networking/netconsole.txt
+++ b/Documentation/networking/netconsole.txt
@@ -51,8 +51,23 @@ Built-in netconsole starts immediately after the TCP stack is
initialized and attempts to bring up the supplied dev at the supplied
address.

-The remote host can run either 'netcat -u -l -p <port>',
-'nc -l -u <port>' or syslogd.
+The remote host has several options to receive the kernel messages,
+for example:
+
+1) syslogd
+
+2) netcat
+
+ On distributions using a BSD-based netcat version (e.g. Fedora,
+ openSUSE and Ubuntu) the listening port must be specified without
+ the -p switch:
+
+ 'nc -u -l -p <port>' / 'nc -u -l <port>' or
+ 'netcat -u -l -p <port>' / 'netcat -u -l <port>'
+
+3) socat
+
+ 'socat udp-recv:<port> -'

Dynamic reconfiguration:
========================
--
1.7.8.6

2012-08-08 15:36:45

by Cong Wang

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

On 08/03/2012 02:33 PM, Dirk Gouders wrote:
>
> From b3aec70d785d338b1b643fece6606cd32addaf0c Mon Sep 17 00:00:00 2001
> From: Dirk Gouders <[email protected]>
> Date: Thu, 2 Aug 2012 22:20:16 +0200
> Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages
>
> There are at least 4 implementations of netcat with the BSD-based
> being the only one that has to be used without the -p switch to
> specify the listening port.
>
> Jan Engelhardt suggested to add an example for socat(1).
>
> Signed-off-by: Dirk Gouders <[email protected]>

It looks like no one takes this patch, so I will take it together with
my other netpoll/netconsole patches and send them to netdev.

Thanks!

2012-08-09 06:41:40

by Dirk Gouders

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

Cong Wang <[email protected]> writes:

> On 08/03/2012 02:33 PM, Dirk Gouders wrote:
>>
>> From b3aec70d785d338b1b643fece6606cd32addaf0c Mon Sep 17 00:00:00 2001
>> From: Dirk Gouders <[email protected]>
>> Date: Thu, 2 Aug 2012 22:20:16 +0200
>> Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages
>>
>> There are at least 4 implementations of netcat with the BSD-based
>> being the only one that has to be used without the -p switch to
>> specify the listening port.
>>
>> Jan Engelhardt suggested to add an example for socat(1).
>>
>> Signed-off-by: Dirk Gouders <[email protected]>
>
> It looks like no one takes this patch, so I will take it together with
> my other netpoll/netconsole patches and send them to netdev.

Thank you for taking care of it.

Dirk

2012-08-16 12:08:50

by Rob Landley

[permalink] [raw]
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

On 08/02/2012 03:39 PM, Dirk Gouders wrote:
> Dirk Gouders <[email protected]> writes:
>
>> Rob Landley <[email protected]> writes:
>>
>>> On 07/29/2012 03:40 AM, Milton Miller wrote:
>>>> [adding Rob as Doc maintanier]
>>>>
>>>> On Sat, 28 Jul 2012 about 11:08:16 -0000, Dirk Gouders wrote:
>>>>> Borislav Petkov <[email protected]> writes:
>>>>>
>>>>>> On Fri, Jul 27, 2012 at 11:24:53AM +0200, Dirk Gouders wrote:
>>>>>>> Cong Wang <[email protected]> writes:
>>>>>>>
>>>>>>>> On Fri, Jul 27, 2012 at 2:35 PM, Dirk Gouders
>>>>>>>> <[email protected]> wrote:
>>>>>>>>> Hi Jesse,
>>>>>>>>>
>>>>>>>>> I would like to ask you to check if the documentation of "nc" in
>>>>>>>>> netconsole.txt is still correct. I tried two different netcat packages
>>>>>>>>> and both require "-p" to specify the listening port. I am wondering if
>>>>>>>>> that changed after the use of "nc" has been documented.
>>>>>>>>
>>>>>>>> On Fedora 16, `nc -u -l <port number>` works fine.
>>>>>>>
>>>>>>> Thanks for checking that.
>>>>>>>
>>>>>>> If the information I found is correct, Fedora uses OpenBSD's nc
>>>>>>> codebase. The two netcat packages I tested on a Gentoo system differ in
>>>>>>> requiring the -p switch for the port specification.
>>>>>>
>>>>>> So say exactly that in the doc: that the *BSD's version of nc doesn't
>>>>>> need the port number specified with '-p' and you're covered.
>>>>> OK, I tried that in the attached patch.
>>>>> I'm not sure if every exeption needs to/should be documented, though.
>>>>>
>>>>> >From 3cdeac3e814471053129145c5fa8391acb365fd8 Mon Sep 17 00:00:00 2001
>>>>> From: Dirk Gouders <[email protected]>
>>>>> Date: Sat, 28 Jul 2012 12:32:49 +0200
>>>>> Subject: [PATCH] netconsole.txt: non-BSD versions of nc(1) require '-p'
>>>>> switch
>>>>>
>>>>> Gentoo for example uses non-BSD versions of nc(1) which require
>>>>> the '-p' switch to specify the listening port.
>>>>>
>>>>> ---
>>>>> Documentation/networking/netconsole.txt | 3 ++-
>>>>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>>
>>> Did this ever resolve to a specific recommended patch? The one at the
>>> start of the thread:
>>>
>>> http://lkml.indiana.edu/hypermail/linux/kernel/1207.3/01995.html
>>>
>>> Apparently isn't it...?
>>
>> Sorry for the delay.
>> I tested the situation on a few distributions and am still thinking
>> about a proper way to write it in a way without netconsole.txt becoming
>> a kind of "netcat.txt".
>>
>> I would be glad about comments to what I currently have -- also, because
>> I am not a native English speaker:
>>
>> ------------------------------------------------------------------------
>> The remote host can run syslogd or netcat to receive the kernel
>> messages. On distributions using a BSD-based netcat version
>> (e.g. Fedora, openSUSE and Ubuntu) the listening port must be
>> specified without the -p switch:
>>
>> 'nc -u -l -p <port>' / 'nc -u -l <port>' or
>> 'netcat -u -l -p <port>' / 'netcat -u -l <port>'
>> ------------------------------------------------------------------------
>>
>> At the end, I also attach what I have noted during the tests with the
>> different distributions.
>>
>> Dirk
>>
>> ------------------------------------------------------------------------
>> Problem on systems where the gnu-netcat package provides a symbolic
>> link /usr/bin/nc -> /usr/bin/netcat:
>>
>> gnu-netcat requires -p to specify the local port but does not complain
>> if invoked as `nc -l -u <port>'; you need to use -v to see that it
>> does not do what you might expect:
>>
>> # nc -l -u 4444 -v
>> Warning: Inverse name lookup failed for `0.0.17.92'
>> ------------------------------------------------------------------------
>>
>> Distro Package needs -p
>> Command invocation
>> ========================================================================
>> Arch gnu-netcat yes
>> (Website nc | netcat
>> documentation)
>> openbsd-netcat no
>> nc.openbsd
>> ------------------------------------------------------------------------
>> Debian-6.0.5 netcat-openbsd no
>> nc | netcat | nc.openbsd
>>
>> netcat / netcat-traditional (preinstalled) yes
>> nc | netcat
>>
>> netcat6 yes
>> nc | netcat | nc6
>> ------------------------------------------------------------------------
>> Fedora-17 nc (preinstalled) no
>> nc
>>
>> nc6
>> nc6 yes
>> ------------------------------------------------------------------------
>> Gentoo gnu-netcat yes
>> netcat
>>
>> netcat yes
>> nc
>>
>> netcat6 yes
>> nc | nc6
>> ------------------------------------------------------------------------
>> OpenSUSE-12.1 netcat-openbsd no
>> nc | netcat
>> ------------------------------------------------------------------------
>> Ubuntu-12.04 netcat-openbsd (preinstalled) no
>> Desktop nc | netcat | nc.openbsd
>>
>> netcat / netcat-traditional yes
>> nc | netcat
>>
>> netcat6 yes
>> nc | netcat | nc6
>> ------------------------------------------------------------------------
>
> Here is a patch that also includes Jan's suggestion for socat(1).

Or you could use the bash built-in functionality of /dev/udp/host/port
with redirection. Or you can write a program to do it using the C API.

This seems about as silly as trying to document /proc/sys/vm/drop-caches
by listing the various ways you can write to a file.

Rob
--
GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code.
Either it's "mere aggregation", or a license violation. Pick one.