----- Original Message ----- From: "bunty" <bunty123_4@rediffmail.com> To: <kernelnewbies@nl.linux.org> Cc: <mohanlal@samsung.com>; <michf@post.tau.ac.il> Sent: Tuesday, June 08, 2004 8:31 PM Subject: help how kernel calculates mss for packet hello, i want to know how mss_value is calculated in tcp_sync_mss function located in tcp_output.c? 1) MSS is payload for packet then why other header (IP,ETH) are not considered in calcualtion os mss_now value? cause mss is value that not include all headers in it. No. MSS is maximum segment size. It does not include ETHER header but it includes IP header. When you say MSS of a link is 1500, it means IP header + remaining header should not go beyond 1500 otherwise packet will be fragmented. 2)what is mss_clamp? 3) what is sending minimum and MAX value for tcp MSS? TCP starts with minimum MTU of either end, participating in tcp communication. On receiving ICMP unreachable or ICMPv6 too big error message, TCP reduces to minimum MTU across the communication path. 4) what is U in 68U? is that for unsigned? how kernel interpret then it? I think, this is interpreted by compiler. 5)what is SACKS ?is that mean SYN+ACK? please apologize me if i am wrong in above understandings. regards, parag. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/