Solved

Linux tcp/ip stack implementation

Posted on 2004-10-04
5
1,536 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
Comment Utility
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
Comment Utility
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
Comment Utility
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

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

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…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

744 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now