[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0902091806510.31742@wrl-59.cs.helsinki.fi>
Date: Mon, 9 Feb 2009 18:09:01 +0200 (EET)
From: "Ilpo Järvinen" <ilpo.jarvinen@...sinki.fi>
To: "Raúl Hernández" <rauhersu@...il.com>
cc: netdev@...r.kernel.org
Subject: Re: high rate injection and fragmentation
On Mon, 9 Feb 2009, Raúl Hernández wrote:
> I am trying to understand the behavior of the IP stack regarding
> fragmentation when injecting at high speed ratio : so far I am seeing
> that TCP starts multiplexing the application level protocol (in my
> case, diameter: previously 1 diameter message = 1 TCP message, when
> the rate increases, multiple diameter messages are coalesced in one
> TCP messages - similar to a Nagle control -).
>
> At that very moment is when we start finding issues regarding packet
> length checking with ethereal: frames start growing due the multiplex
> above and ethereal shows captured packets >3000 bytes ! (IP total
> lenght makes sense as well according to that figure). The thing is
> that I am working under ethernet law (1500 bytes) and I have checked
> through iproute this is the MTU set for the link (neither
> DONT_FRAGMENT ip options for the socket regarding nor MTU
> modifications have been introduced) so my understanding is that no
> packet > 1500 bytes should be allowed with my configuration (would
> need fragmentation).
>
> Checking the IP header with ethereal, "dont fragment" is set and
> "fragment offset"=0. IOW, It seems that IP is not fragmenting the
> packet although > MTU which I am not able to understand.
>
> Any idea why Linux tries to work with MTU > 1500 bytes when not
> configured explicitly to do so (may I have missed more
> options/checkings) ? Hope not to be cheated by Ethereal ...
I suppose you refer here to what GSO is doing though the explanation
is so fuzzy that I lost track of it in the middle. ...You needs
ethtool to configure it.
--
i.
Powered by blists - more mailing lists