Fixes TCP performance problems on Xen.
All credit to Justin for diagnosis.
dp_xmit_skb(struct sk_buff *skb)
{
int len = skb->len;
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);
printk("dropped over-mtu packet: %d > %d\n",
packet_length(skb), skb->dev->mtu);
kfree_skb(skb);