[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1305292012.4065.441.camel@localhost>
Date: Fri, 13 May 2011 14:06:52 +0100
From: Ben Hutchings <bhutchings@...arflare.com>
To: Shan Wei <shanwei@...fujitsu.com>
Cc: Herbert Xu <herbert@...dor.apana.org.au>,
netdev <netdev@...r.kernel.org>
Subject: Re: question about UFO behavior for bridge device
On Fri, 2011-05-13 at 17:21 +0800, Shan Wei wrote:
> UDP protocol creates a big packet(skb) in which the data length is greater than MTU.
>
> If device(eth0, lo) does not supports UFO, This big skb will be fragmented to
> many fragments in IP protocol, and fragments are sent one by one by device.
>
> But, if device(eth0, lo) supports UFO, IP protocol don't fragment it, and
> device directly sends it out.
>
> For bridge device which enable UFO, and Ethernet device(eth0) which not
> support UFO, IP protocol also doesn't fragment it, and bridge forwards original
> skb to eth0. For this UFO disabled eth0, kernel needs to perform segmentation
> on so big skb in dev_gso_segment(), and link segmented skbs to next field
> of original skb. Then device sends segmented skbs out, but not original skb.
Right, it does that just before calling the driver's ndo_start_xmit().
> But, actually, i saw original big skb in eth0's tcpdump file, but not segmented skbs.
> The behavior is right or what we want?
> Is there anything missed about my analysis?
I assume that packet capturing is handled earlier in the transmit path.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists