浏览代码

virtio_net: enable big packets for large MTU values

If one enables e.g. jumbo frames without mergeable
buffers, packets won't fit in 1500 byte buffers
we use. Switch to big packet mode instead.
TODO: make sizing more exact, possibly extend small
packet mode to use larger pages.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Michael S. Tsirkin 8 年之前
父节点
当前提交
2e123b44a3
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/net/virtio_net.c

+ 4 - 0
drivers/net/virtio_net.c

@@ -2367,6 +2367,10 @@ static int virtnet_probe(struct virtio_device *vdev)
 			dev->mtu = mtu;
 			dev->mtu = mtu;
 			dev->max_mtu = mtu;
 			dev->max_mtu = mtu;
 		}
 		}
+
+		/* TODO: size buffers correctly in this case. */
+		if (dev->mtu > ETH_DATA_LEN)
+			vi->big_packets = true;
 	}
 	}
 
 
 	if (vi->any_header_sg)
 	if (vi->any_header_sg)