Anthony Liguori wrote:

But that will require refactoring a lot of these optimizations. In order to do that right, they need to be presented on qemu-devel. It's a whole lot easier to do that incrementally so that people can digest it all instead of blasting a big series.

Can you elaborate?  Which interfaces will need rework, and why?

Last time I tried, virtio-net doesn't work with slirp. I believe it's either because of the GSO changes (unlikely) or because of the can_receive changes (more likely). The can_receive changes probably need some refactoring to be more slirp friendly. The GSO changes are a bit vlan unfriendly.

Right now, you could construct something like -net tap -net nic,model=virtio -net model=e1000. e1000 doesn't support GSO and bad things will happen from this. It's very centric to the single-nic, single-host driver model. Also, exposing something like tap_has_vnet_hdr() to the actual network cards violates the layering. The network cards shouldn't have any knowledge of what types of host drivers there are, just what features a particular VLAN supports.

It's also unclear how you handle things like NIC hot-plug. What if you add a nic that doesn't support GSO to a VLAN that is using GSO? What about migration? What if you migrate from a host that has GSO support to a host that doesn't support GSO? This later problem is hard and would require either a feature renegotiation mechanism in virtio or software implementation of GSO within QEMU.

Okay, we can go along with mangling the current virtio implementation like you proposed.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to