netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bill Fink <billfink@mindspring.com>
To: Karen Shaeffer <shaeffer@neuralscape.com>
Cc: Olaf Kirch <okir@lst.de>, netdev@vger.kernel.org
Subject: Re: Gentle Guide to the Network Stack
Date: Wed, 18 Jun 2008 00:40:28 -0400	[thread overview]
Message-ID: <20080618004028.5ff5ce55.billfink@mindspring.com> (raw)
In-Reply-To: <20080617145655.GB16229@synapse.neuralscape.com>

Hi Olaf,

On Tue, 17 Jun 2008, Karen Shaeffer wrote:

> On Tue, Jun 17, 2008 at 11:05:22AM +0200, Olaf Kirch wrote:
> > 
> > I started putting together a paper on the Linux network stack,
> > focusing on how things fit together, and help relative beginners
> > understand the machinery, rather than giving a full-blown highly
> > detailed cross reference (which would be outdated more quickly
> > than you can re-run latex anyway :-)
> > I intend to release it under the GPL or GNU FDL or similar license -
> > I haven't fully made up my mind yet on what works best.
> > 
> > You can find the first couple of pages at
> > http://oss.oracle.com/~okir/network/paper.pdf
> > 
> > I'd be very interested in general feedback on the approach taken,
> > the level of detail and such. In case I missed the fact that
> > someone else is currently doing the same, please let me know, too.
> 
> I suggest you take a close look at O'Reilly's "Understanding
> Linux Network Internals" as a jumping off point. This work
> deals with IPv4 Layer 3, and L2 implementations for the 2.6
> kernel. In my opinion, it is very well done. What would be a
> very nice compliment is to focus on L4 protocols and
> implementations and the socket API implementation within the kernel.

I strongly agree.  I have not found any good, up-to-date reference
that gives any detail on the Linux TCP implementation.  It would be
very useful to beginners for example to have a good description of
the locking done by the TCP stack, what exactly the different locks
protect, and the different logic flows through the TCP stack and
how they interact (xmit, rcv, and control).  Similarly it would
be great to have an overview of other locking that is done at
other layers of the Linux network stack, to get an idea of how
it all fits together.  At least for me, this is one of the most
difficult things to get my head around when trying to read and
understand the Linux network code, and I'm still not nearly where
I would like to be, so any edification you could provide via this
kind of document would be greatly appreciated.

						-Thanks

						-Bill

  parent reply	other threads:[~2008-06-18  4:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-17  9:05 Gentle Guide to the Network Stack Olaf Kirch
2008-06-17 14:56 ` Karen Shaeffer
2008-06-17 20:39   ` Jarek Poplawski
2008-06-17 23:51   ` Julius Volz
2008-06-18  4:40   ` Bill Fink [this message]
2008-06-17 19:49 ` Kristof Provost
2008-06-19 11:01 ` Ian Brown
2008-06-19 11:11   ` David Miller
2008-06-19 11:30     ` Olaf Kirch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080618004028.5ff5ce55.billfink@mindspring.com \
    --to=billfink@mindspring.com \
    --cc=netdev@vger.kernel.org \
    --cc=okir@lst.de \
    --cc=shaeffer@neuralscape.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).