datapath: Don't drop oversize GSO frames, since GSO will break them up.
authorBen Pfaff <blp@nicira.com>
Fri, 9 Jan 2009 19:46:06 +0000 (11:46 -0800)
committerBen Pfaff <blp@nicira.com>
Tue, 13 Jan 2009 01:16:27 +0000 (17:16 -0800)
Fixes TCP performance problems on Xen.

All credit to Justin for diagnosis.

datapath/datapath.c

index 9d0cea7..338147f 100644 (file)
@@ -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);