Thread (53 messages) 53 messages, 14 authors, 2013-04-09

Re: [PATCH 2/6] xen-netfront: reduce gso_max_size to account for ethernet header

From: David Miller <davem@davemloft.net>
Date: 2013-03-25 18:39:27

From: Wei Liu <redacted>
Date: Mon, 25 Mar 2013 18:32:06 +0000
On Mon, Mar 25, 2013 at 04:18:09PM +0000, David Miller wrote:
quoted
From: Wei Liu <redacted>
Date: Mon, 25 Mar 2013 11:08:18 +0000
quoted
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 <redacted>
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help