Solved

Linux tcp/ip stack implementation

Posted on 2004-10-04
5
1,545 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 500 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

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…

821 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