From: Ben Pfaff Date: Fri, 9 Jan 2009 19:46:06 +0000 (-0800) Subject: datapath: Don't drop oversize GSO frames, since GSO will break them up. X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;ds=sidebyside;h=d02c572f4f052b0ff1c0f96f62f3a6071c71471c;p=sliver-openvswitch.git datapath: Don't drop oversize GSO frames, since GSO will break them up. Fixes TCP performance problems on Xen. All credit to Justin for diagnosis. --- diff --git a/datapath/datapath.c b/datapath/datapath.c index 9d0cea78d..338147f78 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -571,7 +571,7 @@ int dp_xmit_skb(struct sk_buff *skb) { int len = skb->len; - if (packet_length(skb) > skb->dev->mtu) { + if (packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb)) { printk("dropped over-mtu packet: %d > %d\n", packet_length(skb), skb->dev->mtu); kfree_skb(skb);