Re: WG: problem in tcpip communication at datagram level

From: Andi Kleen (ak@suse.de)
Date: Sat Apr 06 2002 - 11:16:18 EST


On Thu, Mar 28, 2002 at 03:35:20PM +0100, sotto@slb.com wrote:
> Hi, all !
>
> The problems described with message from March, 27th had been tested more
> since yesterday.
>
> I found that the communication with another computer that uses Reliant Unix
> 5.43 (SINIX) works very fine.
> No limits for receiving data were found.
>
> The difference between the SuSE 7.2 linux computer and the SINIX machine is:
> The SINIX machine doesn't set the "don't fragment" bit at each acknowledge
> datagram, the linux machine does it per default for all datagrams (see
> tdump10.txt in mail yesterday).
>
> I scanned the manuals for this and found setsockopt(). I used it with SOL_IP
> and IP_MTU_DISCOVER flag with the optval step by step set to one of the 3
> available values IP_PMTUDISC_DONT, IP_PMTUDISC_WANT and IP_PMTUDISC_DO.
> No reaction occurs.
>
> My question today is: What's the right way to unset the "don't fragment" bit

IP_PMTUDISC_DONT is correct, but it'll only affect the socket it is done on.
To turn it off globally you can use the ip_no_pmtu_disc sysctl.
Another way for TCP is to set a small enough advmss/mtu on the route and flush
the routing cache. This usually works around path mtu discovery problems.

BTW if you need to do this you likely have a broken firewall somewhere that
incorrectly blocks all ICMP. You should complain to the firewall admin.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html



This archive was generated by hypermail 2b29 : Sun Apr 07 2002 - 22:00:01 EST