Age | Commit message (Collapse) | Author |
|
This registers a handler with libevent that is called on incoming packets
for the guest. If they cannot be handled immediately (because the virtq is
full), make sure they are handled on VCPU exits.
ok mlarkin@
|
|
This splits the handling of received data into a separate function
that can later be called in parallel to the VCPU thread instead of
handling received packets on VCPU exits only.
It also makes virtq accesses in the rx path safe to run in parallel
to the VCPU thread: the last index into the 'avail' ring the driver
has notified to the host is kept track of. It also makes sure that
the host only writes back to the 'avail' ring instead of modifying
the whole receive virtq.
While there, describe what virtio_vq_info and virtio_io_cfg are used
for, as suggested by mlarkin@
ok mlarkin@
|
|
|
|
|
|
There is still a lot to be done, and fixed, in these userland components
but I have received enough "it works, commit it" emails that it's time
to finish those things in tree.
discussed with many, tested by many.
|