2000-12-08 15:18:17

by Fabien Ribes

[permalink] [raw]
Subject: Networking: RFC1122 and 1123 status for kernel 2.4

Hi all,

Looking at Linux kernel sources, I've found RFC1122 status splitted in
each file. Is there a complete document showing RFC1122 status as a
whole for a given kernel version ?

Thanks, Fabien


2000-12-08 15:41:17

by David Miller

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

Date: Fri, 08 Dec 2000 15:46:59 +0100
From: Fabien Ribes <[email protected]>

Looking at Linux kernel sources, I've found RFC1122 status splitted in
each file. Is there a complete document showing RFC1122 status as a
whole for a given kernel version ?

No, unfortunately nobody has the time to do this.

Later,
David S. Miller
[email protected]

2000-12-08 16:02:41

by Andi Kleen

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

On Fri, Dec 08, 2000 at 06:54:28AM -0800, David S. Miller wrote:
> Date: Fri, 08 Dec 2000 15:46:59 +0100
> From: Fabien Ribes <[email protected]>
>
> Looking at Linux kernel sources, I've found RFC1122 status splitted in
> each file. Is there a complete document showing RFC1122 status as a
> whole for a given kernel version ?
>
> No, unfortunately nobody has the time to do this.

The RFC evaluation is also out of date and should be either redone or removed.


-Andi

2000-12-08 16:14:51

by David Miller

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

Date: Fri, 8 Dec 2000 16:31:54 +0100
From: Andi Kleen <[email protected]>

On Fri, Dec 08, 2000 at 06:54:28AM -0800, David S. Miller wrote:
> No, unfortunately nobody has the time to do this.

The RFC evaluation is also out of date and should be either redone
or removed.

I agree, I'll kill it unless you want to commit to this work
Andi. :-)

Later,
David S. Miller
[email protected]


2000-12-08 16:30:06

by Andi Kleen

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

On Fri, Dec 08, 2000 at 07:28:15AM -0800, David S. Miller wrote:
> Date: Fri, 8 Dec 2000 16:31:54 +0100
> From: Andi Kleen <[email protected]>
>
> On Fri, Dec 08, 2000 at 06:54:28AM -0800, David S. Miller wrote:
> > No, unfortunately nobody has the time to do this.
>
> The RFC evaluation is also out of date and should be either redone
> or removed.
>
> I agree, I'll kill it unless you want to commit to this work
> Andi. :-)

Kill it ;)

-Andi

2000-12-08 16:53:32

by Fabien Ribes

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

Andi Kleen a ?crit :
>
> On Fri, Dec 08, 2000 at 06:54:28AM -0800, David S. Miller wrote:
> > Date: Fri, 08 Dec 2000 15:46:59 +0100
> > From: Fabien Ribes <[email protected]>
> >
> > Looking at Linux kernel sources, I've found RFC1122 status splitted in
> > each file. Is there a complete document showing RFC1122 status as a
> > whole for a given kernel version ?
> >
> > No, unfortunately nobody has the time to do this.
>
> The RFC evaluation is also out of date and should be either redone or removed.

Indeed, what I need is some kind of paper insurance of interoperability
... so I believe grepping the sources for compliances will do the trick.

2000-12-08 17:08:42

by Andi Kleen

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

On Fri, Dec 08, 2000 at 05:19:30PM +0100, Fabien Ribes wrote:
> Andi Kleen a ?crit :
> >
> > On Fri, Dec 08, 2000 at 06:54:28AM -0800, David S. Miller wrote:
> > > Date: Fri, 08 Dec 2000 15:46:59 +0100
> > > From: Fabien Ribes <[email protected]>
> > >
> > > Looking at Linux kernel sources, I've found RFC1122 status splitted in
> > > each file. Is there a complete document showing RFC1122 status as a
> > > whole for a given kernel version ?
> > >
> > > No, unfortunately nobody has the time to do this.
> >
> > The RFC evaluation is also out of date and should be either redone or removed.
>
> Indeed, what I need is some kind of paper insurance of interoperability
> ... so I believe grepping the sources for compliances will do the trick.

It would be nice if you could contribute a new evaluation in this case
(preferable as an external document for Documentation/)

-Andi

2000-12-08 17:12:22

by Alexey Kuznetsov

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

Hello!

> Kill it ;)

Great day! Nobody will cry that information sort of this:

* MUST NOT send ICMP errors in reply to:
* ICMP errors (OK)
* Broadcast/multicast datagrams (OK)
* MAC broadcasts (OK)
* Non-initial fragments (OK)
* Datagram with a source address that isn't a single host. (OK)

is not available, I hope. 8)


BTW what is this? It is just a question, I missed even the moment, when these
things appeared:

/**
* kfree_skb - free an sk_buff
* @skb: buffer to free
*
* Drop a reference to the buffer and free it if the usage count has
* hit zero.
*/

People, who need _literal_ translation from C to English to understand
two lines of code, really exist in the nature? To be honest, I would not ever
understand what is to "drop a reference to the buffer and free it
if the usage count has hit zero" not looking to code. 8)

Seven times:

* If this function is called from an interrupt gfp_mask() must be
* %GFP_ATOMIC.

Deep thought, of course. Deep enough to be repeated in each place,
where gfp is used. 8)

Well, I am a fossil, of course, and like to read sources printed on paper
and all these pretentions to convert readbale text to hypertext irritate me.
But such deep thoughts eat even more expensive space on screen!

Alexey

2000-12-08 17:19:44

by Andi Kleen

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

On Fri, Dec 08, 2000 at 07:41:22PM +0300, [email protected] wrote:
> /**
> * kfree_skb - free an sk_buff
> * @skb: buffer to free
> *
> * Drop a reference to the buffer and free it if the usage count has
> * hit zero.
> */
>
> People, who need _literal_ translation from C to English to understand
> two lines of code, really exist in the nature? To be honest, I would not ever
> understand what is to "drop a reference to the buffer and free it
> if the usage count has hit zero" not looking to code. 8)

The idea is that they can be read externally (generated using make
(ps|html|pdf)docs into Documentation/DocBook). Some people have a irrational
problem with RTFS and prefer to read external documentation @)

>
> Seven times:
>
> * If this function is called from an interrupt gfp_mask() must be
> * %GFP_ATOMIC.
>
> Deep thought, of course. Deep enough to be repeated in each place,
> where gfp is used. 8)
>
> Well, I am a fossil, of course, and like to read sources printed on paper
> and all these pretentions to convert readbale text to hypertext irritate me.
> But such deep thoughts eat even more expensive space on screen!

So write a 4 line perl script to filter them out before printing ?

-Andi

2000-12-08 17:42:54

by Alan

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

> BTW what is this? It is just a question, I missed even the moment, when these
> things appeared:

It allows us to generate man9 sets for that part of the kernel and other
documentation sets

> Well, I am a fossil, of course, and like to read sources printed on paper
> and all these pretentions to convert readbale text to hypertext irritate me.
> But such deep thoughts eat even more expensive space on screen!

They irritated you so much that you only noticed after six months ?

Alan

2000-12-08 17:43:44

by Alan

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

> > Well, I am a fossil, of course, and like to read sources printed on paper
> > and all these pretentions to convert readbale text to hypertext irritate me.
> > But such deep thoughts eat even more expensive space on screen!
>
> So write a 4 line perl script to filter them out before printing ?

Anyone care to submit an emacs hide-the-kerneldoc mode ;)


2000-12-08 19:38:27

by Alexey Kuznetsov

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

Hello!

> They irritated you so much that you only noticed after six months ?

I really edit and even read skbuff.h not every day and even not every
month. Is this bad? 8)

"Irritated" is wrong word. "To get a scare" is closer to truth.

Alexey

2000-12-08 20:06:55

by Christoph Hellwig

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

In article <[email protected]> you wrote:
>> BTW what is this? It is just a question, I missed even the moment, when these
>> things appeared:

> It allows us to generate man9 sets for that part of the kernel and other
> documentation sets

That could even be automated when this little patch (against -test11, but
-test12pre works too) is applied...

Christoph

--
Whip me. Beat me. Make me maintain AIX.


diff -uNr --exclude-from=dontdiff linux-2.4.0t11p1/Documentation/DocBook/Makefile linux/Documentation/DocBook/Makefile
--- linux-2.4.0t11p1/Documentation/DocBook/Makefile Thu Oct 19 13:21:14 2000
+++ linux/Documentation/DocBook/Makefile Thu Nov 9 21:50:26 2000
@@ -82,11 +82,6 @@
$(TOPDIR)/scripts/docgen $(APISOURCES) \
<kernel-api.tmpl >kernel-api.sgml

-kernel-api-man: $(APISOURCES)
- @rm -rf $(TOPDIR)/Documentation/man
- $(TOPDIR)/scripts/kernel-doc -man $^ | \
- $(PERL) $(TOPDIR)/scripts/split-man $(TOPDIR)/Documentation/man
-
parportbook: $(JPG-parportbook)
parportbook.ps: $(EPS-parportbook)
parportbook.sgml: parportbook.tmpl $(TOPDIR)/drivers/parport/init.c
diff -uNr --exclude-from=dontdiff linux-2.4.0t11p1/Makefile linux/Makefile
--- linux-2.4.0t11p1/Makefile Thu Nov 9 15:50:14 2000
+++ linux/Makefile Thu Nov 9 21:50:26 2000
@@ -82,6 +82,13 @@
export MODLIB

#
+# MANPATH specifies where to install the manpages created from
+# inline documentation
+#
+
+MANDIR := /usr/share/man
+
+#
# standard CFLAGS
#

@@ -371,6 +378,7 @@
rm -f net/khttpd/times.h
rm -f submenu*
rm -rf modules
+ rm -rf Documentation/man
$(MAKE) -C Documentation/DocBook clean

mrproper: clean archmrproper
@@ -421,6 +429,25 @@

htmldocs: sgmldocs
$(MAKE) -C Documentation/DocBook html
+
+mandocs:
+ @rm -rf $(TOPDIR)/Documentation/man
+ chmod 755 $(TOPDIR)/scripts/kernel-doc
+ chmod 755 $(TOPDIR)/scripts/split-man
+ ( \
+ find include/asm-$(ARCH) -name '*.h' -print; \
+ find $(SUBDIRS) init -name '*.c' -print; \
+ find include -type d \( -name "asm-*" -o -name config \) \
+ -prune -o -name '*.h' -print \
+ ) | xargs $(TOPDIR)/scripts/kernel-doc | \
+ $(TOPDIR)/scripts/split-man \
+ $(TOPDIR)/Documentation/man
+
+install-man: mandocs
+ test -d $(MANDIR)/man9 || mkdir -p $(MANDIR)/man9
+ cp $(TOPDIR)/Documentation/man/*.9 $(MANDIR)/man9
+
+

sums:
find . -type f -print | sort | xargs sum > .SUMS
diff -uNr --exclude-from=dontdiff linux-2.4.0t11p1/scripts/kernel-doc linux/scripts/kernel-doc
--- linux-2.4.0t11p1/scripts/kernel-doc Wed Oct 18 15:54:06 2000
+++ linux/scripts/kernel-doc Thu Nov 9 22:04:55 2000
@@ -537,7 +537,7 @@
my ($parameter, $section);
my $count;

- print ".TH \"$args{'module'}\" 4 \"$args{'function'}\" \"25 May 1998\" \"API Manual\" LINUX\n";
+ print ".TH \"$args{'function'}\" 9 \"$args{'function'}\" \"25 May 1998\" LINUX\n";

print ".SH NAME\n";
print $args{'function'}." \\- ".$args{'purpose'}."\n";
@@ -563,13 +563,13 @@
$parenth = "";
}

- print ".SH Arguments\n";
+ print ".SH ARGUMENTS\n";
foreach $parameter (@{$args{'parameterlist'}}) {
print ".IP \"".$parameter."\" 12\n";
output_highlight($args{'parameters'}{$parameter});
}
foreach $section (@{$args{'sectionlist'}}) {
- print ".SH \"$section\"\n";
+ print ".SH \"", uc $section, "\"\n";
output_highlight($args{'sections'}{$section});
}
}
diff -uNr --exclude-from=dontdiff linux-2.4.0t11p1/scripts/split-man linux/scripts/split-man
--- linux-2.4.0t11p1/scripts/split-man Thu Jan 1 01:00:00 1970
+++ linux/scripts/split-man Thu Nov 9 21:50:26 2000
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+#
+# split-man: create man pages from kernel-doc -man output
+#
+# Author: Tim Waugh <[email protected]>
+# Modified by: Christoph Hellwig <[email protected]>
+#
+
+use strict;
+
+die "$0: where do I put the results?\n" unless ($#ARGV >= 0);
+die "$0: can't create $ARGV[0]: $!\n" unless mkdir $ARGV[0], 0777;
+
+my $state = 0;
+
+while (<STDIN>) {
+ s/&amp;(\w+)/\\fB\1\\fP/g; # fix smgl uglinesses
+ s/\$(\w+)/\\fI\1\\fP/g;
+ if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
+ close OUT unless ($state++ == 0);
+ my $fn = "$ARGV[0]/$1.9";
+ if (open OUT, ">$fn") {
+ print STDERR "creating $fn\n";
+ } else {
+ die "can't open $fn: $!\n";
+ }
+ print OUT $_;
+ } elsif ($state != 0) {
+ print OUT $_;
+ }
+}
+
+close OUT;

2000-12-08 23:49:20

by Christoph Hellwig

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

In article <[email protected]> you wrote:
> That could even be automated when this little patch (against -test11, but
> -test12pre works too) is applied...

Ok, I should actually attach the test11-final patch ;)

Christoph

--
Whip me. Beat me. Make me maintain AIX.


diff -uNr --exclude-from=dontdiff linux-2.4.0-test12-pre7/Documentation/DocBook/Makefile linux/Documentation/DocBook/Makefile
--- linux-2.4.0-test12-pre7/Documentation/DocBook/Makefile Sun Nov 26 17:23:09 2000
+++ linux/Documentation/DocBook/Makefile Fri Dec 8 22:59:06 2000
@@ -82,11 +82,6 @@
$(TOPDIR)/scripts/docgen $(APISOURCES) \
<kernel-api.tmpl >kernel-api.sgml

-kernel-api-man: $(APISOURCES)
- @rm -rf $(TOPDIR)/Documentation/man
- $(TOPDIR)/scripts/kernel-doc -man $^ | \
- $(PERL) $(TOPDIR)/scripts/split-man $(TOPDIR)/Documentation/man
-
parportbook: $(JPG-parportbook)
parportbook.ps: $(EPS-parportbook)
parportbook.sgml: parportbook.tmpl $(TOPDIR)/drivers/parport/init.c
diff -uNr --exclude-from=dontdiff linux-2.4.0-test12-pre7/Makefile linux/Makefile
--- linux-2.4.0-test12-pre7/Makefile Thu Dec 7 18:08:35 2000
+++ linux/Makefile Fri Dec 8 23:00:13 2000
@@ -82,6 +82,13 @@
export MODLIB

#
+# MANPATH specifies where to install the manpages created from
+# inline documentation
+#
+
+MANDIR := /usr/share/man
+
+#
# standard CFLAGS
#

@@ -197,7 +204,8 @@
submenu*
# directories removed with 'make clean'
CLEAN_DIRS = \
- modules
+ modules \
+ Documentation/man

# files removed with 'make mrproper'
MRPROPER_FILES = \
@@ -435,6 +443,25 @@

htmldocs: sgmldocs
$(MAKE) -C Documentation/DocBook html
+
+mandocs:
+ @rm -rf $(TOPDIR)/Documentation/man
+ chmod 755 $(TOPDIR)/scripts/kernel-doc
+ chmod 755 $(TOPDIR)/scripts/split-man
+ ( \
+ find include/asm-$(ARCH) -name '*.h' -print; \
+ find $(SUBDIRS) init -name '*.c' -print; \
+ find include -type d \( -name "asm-*" -o -name config \) \
+ -prune -o -name '*.h' -print \
+ ) | xargs $(TOPDIR)/scripts/kernel-doc | \
+ $(TOPDIR)/scripts/split-man \
+ $(TOPDIR)/Documentation/man
+
+install-man: mandocs
+ test -d $(MANDIR)/man9 || mkdir -p $(MANDIR)/man9
+ cp $(TOPDIR)/Documentation/man/*.9 $(MANDIR)/man9
+
+

sums:
find . -type f -print | sort | xargs sum > .SUMS
diff -uNr --exclude-from=dontdiff linux-2.4.0-test12-pre7/scripts/kernel-doc linux/scripts/kernel-doc
--- linux-2.4.0-test12-pre7/scripts/kernel-doc Thu Dec 7 18:08:41 2000
+++ linux/scripts/kernel-doc Fri Dec 8 22:59:07 2000
@@ -538,7 +538,7 @@
my ($parameter, $section);
my $count;

- print ".TH \"$args{'module'}\" 4 \"$args{'function'}\" \"25 May 1998\" \"API Manual\" LINUX\n";
+ print ".TH \"$args{'function'}\" 9 \"$args{'function'}\" \"25 May 1998\" LINUX\n";

print ".SH NAME\n";
print $args{'function'}." \\- ".$args{'purpose'}."\n";
@@ -564,13 +564,13 @@
$parenth = "";
}

- print ".SH Arguments\n";
+ print ".SH ARGUMENTS\n";
foreach $parameter (@{$args{'parameterlist'}}) {
print ".IP \"".$parameter."\" 12\n";
output_highlight($args{'parameters'}{$parameter});
}
foreach $section (@{$args{'sectionlist'}}) {
- print ".SH \"$section\"\n";
+ print ".SH \"", uc $section, "\"\n";
output_highlight($args{'sections'}{$section});
}
}
diff -uNr --exclude-from=dontdiff linux-2.4.0-test12-pre7/scripts/split-man linux/scripts/split-man
--- linux-2.4.0-test12-pre7/scripts/split-man Thu Jan 1 01:00:00 1970
+++ linux/scripts/split-man Fri Dec 8 22:59:07 2000
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+#
+# split-man: create man pages from kernel-doc -man output
+#
+# Author: Tim Waugh <[email protected]>
+# Modified by: Christoph Hellwig <[email protected]>
+#
+
+use strict;
+
+die "$0: where do I put the results?\n" unless ($#ARGV >= 0);
+die "$0: can't create $ARGV[0]: $!\n" unless mkdir $ARGV[0], 0777;
+
+my $state = 0;
+
+while (<STDIN>) {
+ s/&amp;(\w+)/\\fB\1\\fP/g; # fix smgl uglinesses
+ s/\$(\w+)/\\fI\1\\fP/g;
+ if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
+ close OUT unless ($state++ == 0);
+ my $fn = "$ARGV[0]/$1.9";
+ if (open OUT, ">$fn") {
+ print STDERR "creating $fn\n";
+ } else {
+ die "can't open $fn: $!\n";
+ }
+ print OUT $_;
+ } elsif ($state != 0) {
+ print OUT $_;
+ }
+}
+
+close OUT;

2000-12-09 00:28:34

by Alan

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

> That could even be automated when this little patch (against -test11, but
> -test12pre works too) is applied...

> +# MANPATH specifies where to install the manpages created from
> +# inline documentation
> +#
> +
> +MANDIR := /usr/share/man
> +

End user installed so

/usr/local/man or /usr/local/share/man

2000-12-11 22:53:31

by David Miller

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

Date: Fri, 8 Dec 2000 16:58:55 +0100
From: Andi Kleen <[email protected]>

On Fri, Dec 08, 2000 at 07:28:15AM -0800, David S. Miller wrote:
> I agree, I'll kill it unless you want to commit to this work
> Andi. :-)

Kill it ;)

Done.

Seriously, if someone wants to do this work please contact Andi
or myself, we are willing to give some assistance.

Later,
David S. Miller
[email protected]

2000-12-13 17:45:56

by Fabien Ribes

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

"David S. Miller" a ?crit :
>
> Date: Fri, 8 Dec 2000 16:58:55 +0100
> From: Andi Kleen <[email protected]>
>
> On Fri, Dec 08, 2000 at 07:28:15AM -0800, David S. Miller wrote:
> > I agree, I'll kill it unless you want to commit to this work
> > Andi. :-)
>
> Kill it ;)
>
> Done.
>
> Seriously, if someone wants to do this work please contact Andi
> or myself, we are willing to give some assistance.

I may get some time to work on this topic, but what do you mean by kill
it ? Is it the removal of RFC 1122 evaluation in modules' headers ? By
the way, is RFC 1122 still accurate ?

2000-12-13 17:47:57

by David Miller

[permalink] [raw]
Subject: Re: Networking: RFC1122 and 1123 status for kernel 2.4

Date: Wed, 13 Dec 2000 18:14:24 +0100
From: Fabien Ribes <[email protected]>

I may get some time to work on this topic, but what do you mean by kill
it ?

It means removing all of the "RFC1122 Status" comments from net/ipv4/*.c

Is it the removal of RFC 1122 evaluation in modules' headers ? By
the way, is RFC 1122 still accurate ?

It should be unless some later RFC specifies something which
supercedes a statement made in RFC1122, I believe there are not
many such cases if any.

Later,
David S. Miller
[email protected]