Slashdot Mirror


The Linux Networking Stack Exposed

An anonymous reader writes "The Linux source code is a great way to learn about the design of device drivers for a multitude of device types, including network device drivers. This article will show you the basic architecture of the Linux networking stack and dig into its interfaces for system calls, protocols, and device drivers."

5 of 69 comments (clear)

  1. well by Anonymous Coward · · Score: 5, Funny

    I doubt we're going to see any +5 funny mods in this one

    1. Re:well by JosefAssad · · Score: 5, Funny
      I doubt we're going to see any +5 funny mods in this one

      Oh yeah?

      So, a UDP connection walks into a bar and it goes up to the bartender.

      "Hi bartender, " it says to the bartender.

      "Howdy, UDP connection. What'll it be?" the bartender asks.

      "I'll have a beer please. Here's a dollar," says the UDP connection.

      The bartender takes the dollar, looks at the UDP connection, and continues wiping glasses.

      "So, what'll it be?" the bartender asks the UDP connection.

      The UDP connection forks over another dollar and orders a beer again. The bartender takes the dollar and stares expectantly at the UDP connection as he continues to wipe glasses.

      "So, what are you gonna drink, little UDP connection?" the bartender asks.

      "I would like a beer please," and the UDP connection gives the bartender yet another dollar. The bartender takes the dollar and promptly starts wiping the counter. He looks thatthe UDP connection and asks,

      "Oh, hello there. Can I get you anything?"

      "Yes please," responds the UDP connection, "I'd like a beer. Here is a dollar." And the UDP connection gives the bartender yet another dollar.

      And so on...

    2. Re:well by weicco · · Score: 5, Funny

      And when TCP walks into the bar and asks for beer bartender opens the tap and lets beer stream... But before that they have to shake hands three times.

      --
      You don't know what you don't know.
  2. What about Minix? by drspliff · · Score: 5, Interesting

    Personally I'd say Minix is much easier to navigate, simpler to understand and a much better starting point for new kernel developers or students to begin with (it was designed primarily as an academic project).

    I've tried digging around the Linux source code, but find a lot of it fairly confusing simply because of the amount of time and effort you have to invest in understanding the rest of it and general architecture.

    With Minix, you can pretty much jump in at any place (being very organized and well separated you can find what you're looking for fast), in 3.0 the core syscalls are separated into different files and the core kernel is only around 5000 lines which you can scan through fairly quickly.

  3. Re:Beg to differ by Slashcrap · · Score: 5, Funny

    IMHO the networking stack is quite uninteresting. On the bottom, it's constrained by the networking protocols and network interfaces.

    Yes, the Linux network stack has always been constrained by the fact that it has to handle networking.

    I contributed a series of highly innovative patches that added 3D Graphics and AJAX support to the Linux TCP/IP stack. Were those kernel developers interested? Were they fuck.

    Just another reason why Linux will continue to lag behind Windows and OSX in the innovation stakes.