Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Linux tcp/ip stack implementation

Posted on 2004-10-04
5
Medium Priority
?
1,561 Views
Last Modified: 2012-05-05

could anyone suggest an online resource which clearly explains linux networking source code and specificaly source code for tcp/ip implementation.

I need to understand what does the following mss stand for in tcp_opt :

mss_cache, mss_clamp, user_mss, advmss!

regards.

0
Comment
Question by:perfect_tranquility
5 Comments
 
LVL 40

Expert Comment

by:jlevie
ID: 12223914
If there is such a document (and I doubt it) it is awfully well hidden. I suspect that the only documentation is the kernel code itself.
0
 
LVL 3

Expert Comment

by:scn
ID: 12224722
No document will deal with such details. However, the following links may help:
http://gnumonks.org/ftp/pub/doc/packet-journey-2.4.html
http://www.linuxjournal.com/article.php?sid=4852 
http://www.kernelnewbies.org/documents/ipnetworking/linuxipnetworking.html (rather old - kernel 2.2)

Also, the book "The Linux TCP/IP Stack: Networking for Embedded Systems" based on a 2.6 kernel may contain valuable information.
0
 
LVL 2

Accepted Solution

by:
gysbert1 earned 2000 total points
ID: 12246276
I can't remember offhand what each of those represent, but I looked into the exact same thing a few months ago. I looked at the kernel source for a few minutes, and it was quite obvious what each of them were for. IIRC:
user_mss is what the user of the socket specified with setsockopt, if specified at all (TCP_MAXSEG option).
mss_clamp is part of the solution for negotiating the mss between client/server and what the user specified.
I think mss_cache is the current effective sending mss.
I can't remember what advmss does anymore.
Anyway, take a look at the source, it is very simple.
Look in usr/src/linux/net/ipv4, specifically tcp.c, tcp_input.c, tcp_output.c, the code is fairly well commented.
0

Featured Post

Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever been frustrated by having to click seven times in order to retrieve a small bit of information from the web, always the same seven clicks, scrolling down and down until you reach your target? When you know the benefits of the command l…
The purpose of this article is to demonstrate how we can upgrade Python from version 2.7.6 to Python 2.7.10 on the Linux Mint operating system. I am using an Oracle Virtual Box where I have installed Linux Mint operating system version 17.2. Once yo…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
We’ve all felt that sense of false security before—locking down external access to a database or component and feeling like we’ve done all we need to do to secure company data. But that feeling is fleeting. Attacks these days can happen in many w…
Suggested Courses

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question