---
##### Implement virtio drivers on DragonFly to speed up DragonFly as a KVM guest
-* As virtualization is coming more and more and KVM will be a strong player in that field, it might be a good idea to be the first BSD to have a virtio implementation that enables us to run at a better speed in comparison to the other BSDs and maybe close to Linux on this virtualization platform.
+
+As virtualization is coming more and more and KVM will be a strong player in that field,
+we want DragonFly to have top-notch support for this virtualization platform. For this
+purpose, we'd like to have a virtio-based implementation of a paravirtualized disk and
+network driver. [virtio](http://www.ibm.com/developerworks/linux/library/l-virtio/index.html)
+is an abstraction to a ring buffer that is shared between the host and the guest. On top of this
+abstraction, one can build a variety of paravirtualized devices, as specified in
+[virtio-spec](http://ozlabs.org/~rusty/virtio-spec/virtio-spec-0.8.6.pdf).
+
+The goal of this project is to create a virtio-ring implementation and then to implement drivers
+for the network and block devices described in the specification linked to above. This is a great
+project for a student who wants to get experience writing (real-world, high-performance) device
+drivers without having to deal with the quirks of real hardware.
Meta information:
-* Prerequisites: C
-* Difficulty: ?
-* Contact point: kernel@crater.dragonflybsd.org
+* Prerequisites: C, elementary OS internals
+* Difficulty: Easy
+* Contact point: Aggelos Economopoulos <aoiko@cc.ece.ntua.gr>, kernel@crater.dragonflybsd.org
---