[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130325.143923.762657816602656826.davem@davemloft.net>
Date: Mon, 25 Mar 2013 14:39:23 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: wei.liu2@...rix.com
Cc: xen-devel@...ts.xen.org, netdev@...r.kernel.org,
Ian.Campbell@...rix.com, annie.li@...cle.com,
konrad.wilk@...cle.com, david.vrabel@...rix.com
Subject: Re: [PATCH 2/6] xen-netfront: reduce gso_max_size to account for
ethernet header
From: Wei Liu <wei.liu2@...rix.com>
Date: Mon, 25 Mar 2013 18:32:06 +0000
> On Mon, Mar 25, 2013 at 04:18:09PM +0000, David Miller wrote:
>> From: Wei Liu <wei.liu2@...rix.com>
>> Date: Mon, 25 Mar 2013 11:08:18 +0000
>>
>> > The maximum packet including ethernet header that can be handled by netfront /
>> > netback wire format is 65535. Reduce gso_max_size accordingly.
>> >
>> > Drop skb and print warning when skb->len > 65535. This can 1) save the effort
>> > to send malformed packet to netback, 2) help spotting misconfiguration of
>> > netfront in the future.
>> >
>> > Signed-off-by: Wei Liu <wei.liu2@...rix.com>
>>
>> This is effectively the default already, you don't need to change this
>> value explicitly.
>>
>> ->gso_max_size is set by default to 65536 and then TCP performs this
>> calculation:
>>
>> xmit_size_goal = ((sk->sk_gso_max_size - 1) -
>> inet_csk(sk)->icsk_af_ops->net_header_len -
>> inet_csk(sk)->icsk_ext_hdr_len -
>> tp->tcp_header_len);
>
> OK. But I see similar fix for a physical nic (commit b7e5887e0e414b), am
> I missing something here?
>
> And the symptom is that if I don't reserve headroom I see skb->len =
> 65538. Can you shed some light on this?
See Eric's reply. If a GRO frame is forwarded we don't make the GSO size
checks on the send size as we should.
--
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