netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Gentle Guide to the Network Stack
@ 2008-06-17  9:05 Olaf Kirch
  2008-06-17 14:56 ` Karen Shaeffer
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Olaf Kirch @ 2008-06-17  9:05 UTC (permalink / raw)
  To: netdev

Hi all,

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.

Cheers,
Olaf
-- 
Olaf Kirch  |  --- o --- Nous sommes du soleil we love when we play
okir@lst.de |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  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
                     ` (2 more replies)
  2008-06-17 19:49 ` Kristof Provost
  2008-06-19 11:01 ` Ian Brown
  2 siblings, 3 replies; 9+ messages in thread
From: Karen Shaeffer @ 2008-06-17 14:56 UTC (permalink / raw)
  To: Olaf Kirch; +Cc: netdev

On Tue, Jun 17, 2008 at 11:05:22AM +0200, Olaf Kirch wrote:
> Hi all,
> 
> 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.
> 
> Cheers,
> Olaf

Hi Olaf,
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.

Thanks,
Karen


-- 
 Karen Shaeffer
 Neuralscape, Palo Alto, Ca. 94306
 shaeffer@neuralscape.com  http://www.neuralscape.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  2008-06-17  9:05 Gentle Guide to the Network Stack Olaf Kirch
  2008-06-17 14:56 ` Karen Shaeffer
@ 2008-06-17 19:49 ` Kristof Provost
  2008-06-19 11:01 ` Ian Brown
  2 siblings, 0 replies; 9+ messages in thread
From: Kristof Provost @ 2008-06-17 19:49 UTC (permalink / raw)
  To: Olaf Kirch; +Cc: netdev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2008-06-17 11:05:22 (+0200), Olaf Kirch <okir@lst.de> 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.
> 
Speaking as a relative beginner this is quite interesting and I'd like
to read more.

Kristof

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIWBVHUEZ9DhGwDugRAsccAJ9RvPWRagIRdxSv/eUeW1WedtARWACeP3gN
CnjlfnuhXH0dJJWgDuMKNw4=
=+Uj7
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  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
  2 siblings, 0 replies; 9+ messages in thread
From: Jarek Poplawski @ 2008-06-17 20:39 UTC (permalink / raw)
  To: Karen Shaeffer; +Cc: Olaf Kirch, netdev

Karen Shaeffer wrote, On 06/17/2008 04:56 PM:

...
> 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.

Right! ...Or simply just like it is, but more!

Thanks,
Jarek P.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  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
  2 siblings, 0 replies; 9+ messages in thread
From: Julius Volz @ 2008-06-17 23:51 UTC (permalink / raw)
  To: Karen Shaeffer; +Cc: Olaf Kirch, netdev

On Tue, Jun 17, 2008, Karen Shaeffer wrote:
> 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.

Yes, very nice book! It also mentions explicitly in the beginning that
it doesn't cover Netfilter, IPv6, IPVS and perhaps some other topics.
Of course, these were exactly the topics I was most interested in, so
there's a suggestion for further writings ;)

Otherwise, very nice and easy to follow writing style in your paper,
Olaf! Although it looks like it will be turning more into a small book
than a paper...

Julius

-- 
Google Switzerland GmbH

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  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
  2 siblings, 0 replies; 9+ messages in thread
From: Bill Fink @ 2008-06-18  4:40 UTC (permalink / raw)
  To: Karen Shaeffer; +Cc: Olaf Kirch, netdev

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  2008-06-17  9:05 Gentle Guide to the Network Stack Olaf Kirch
  2008-06-17 14:56 ` Karen Shaeffer
  2008-06-17 19:49 ` Kristof Provost
@ 2008-06-19 11:01 ` Ian Brown
  2008-06-19 11:11   ` David Miller
  2 siblings, 1 reply; 9+ messages in thread
From: Ian Brown @ 2008-06-19 11:01 UTC (permalink / raw)
  To: Olaf Kirch; +Cc: netdev

Hi,
- This Linux network stack paper is a good and blessed initiative, and
may be certailnly
helpful to developers.

  I hope to see more of it in th future !

question:
What do you mean by :
"current kernels allocate these in as single entity named struct sockalloc,"
chapter 6 (page 19).

I grepped for:
struct sockalloc and  struct sock_alloc under the kernel tree (git 2.6
netdev tree)
and could not find such a thing.

Regards,
Ian




On Tue, Jun 17, 2008 at 12:05 PM, Olaf Kirch <okir@lst.de> wrote:
> Hi all,
>
> 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.
>
> Cheers,
> Olaf
> --
> Olaf Kirch  |  --- o --- Nous sommes du soleil we love when we play
> okir@lst.de |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  2008-06-19 11:01 ` Ian Brown
@ 2008-06-19 11:11   ` David Miller
  2008-06-19 11:30     ` Olaf Kirch
  0 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2008-06-19 11:11 UTC (permalink / raw)
  To: ianbrn; +Cc: okir, netdev

From: "Ian Brown" <ianbrn@gmail.com>
Date: Thu, 19 Jun 2008 14:01:07 +0300

> I grepped for:
> struct sockalloc and  struct sock_alloc under the kernel tree (git 2.6
> netdev tree)
> and could not find such a thing.

He meant "struct socket_alloc"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Gentle Guide to the Network Stack
  2008-06-19 11:11   ` David Miller
@ 2008-06-19 11:30     ` Olaf Kirch
  0 siblings, 0 replies; 9+ messages in thread
From: Olaf Kirch @ 2008-06-19 11:30 UTC (permalink / raw)
  To: netdev

On Thursday 19 June 2008 13:11:46 David Miller wrote:
> > I grepped for:
> > struct sockalloc and  struct sock_alloc under the kernel tree (git 2.6
> > netdev tree)
> > and could not find such a thing.
> 
> He meant "struct socket_alloc"

Oops, you're right!

Olaf
-- 
Olaf Kirch  |  --- o --- Nous sommes du soleil we love when we play
okir@lst.de |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-06-19 11:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

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).