oleksandr kalinin <(E-Mail Removed)> wrote:
> Is it is possible to change TCP default send MSS under LINUX
> somehow? In particular network, engineers use some fancy feature
> which adds some extra header bytes to a frame. The implication is
> that when LINUX sends a TCP segment of MSS size, it gets lost
> 'somewhere' in the network.
Someone else points-out that this should not happen. What should
happen is one of two things:
a) The IP datagram carrying the TCP segment has the DF bit set in the
IP header. At the point where the packet becomes too large, that
router is required to return an ICMP Destination Unreachable, Datagram
Too Large message back to the source, which will then perform some
PathMTU discovery magic and reduce the Path MTU to that destination.
That will cause TCP to send smaller segments to avoid fragmentation.
b) The DF bit is not set in the header of the IP datagram carrying the
TCP segment - the device is supposed to fragment the IP datagram into
pieces which do fit and send them on their way.
If the fancy feature in the network cannot do either of these things
then it is fundamentally flawed and should be removed from the
network.
Now, some complications:
1) For case "a" if anything between the wacky device and the source is
filtering ICMP datagrams in the name of security, Path MTU discovery
will break. You then get a "black hole" and now depend on the sender
to detect that and kludge around it.
2) For case "b" if any one of the IP datagram fragments are lost, the
entire IP datagram is toast.
3) Others too numerous to mention here.
> For cases like this, I would like to have a possibility for
> workaround, to decrease send MSS so that outgoing frames fit into
> MTU bottleneck.
> I know following MSS manipulation mechanisms under LINUX :
> - Setting a static route with particular MSS. Alas, that only
> changes TCP receive MSS, the one which is announced to remote peer
> during TCP handshake. It does not affect send MSS.
I thought that static routes had Path MTUs associated with them. That
would in turn influence the MSS TCP advertises. It was my
understanding that the MSS used was the smaller of the two advertised
during connectoin establishment.
You might peruse the output of sysctl -a
rick jones
--
The glass is neither half-empty nor half-full. The glass has a leak.
The real question is "Can it be patched?"
these opinions are mine, all mine; HP might not want them anyway...

feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...