Solved

Linux tcp/ip stack implementation

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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

The purpose of this article is to fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
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…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

816 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

10 Experts available now in Live!

Get 1:1 Help Now