I've re-based the queue and pulled in Alex's rx filtering patches.
I've tested the tree as follows:
- Mostly just with --enable-kvm
- F-11 host and guest
- Basic functional testing (dhcp, ping, ssh, scp) with tap, slirp,
virtio-net and e1000
- Some quick host<->guest netperf benchmarks (results in Mb/s):
| TCP TX | UDP TX | TCP RX | UDP RX
--------------+--------+--------+--------+-------
virtio before | 386 | 1545 | 190 | 410
after | 760 | 1540 | 1100 | 860*
e1000 before | 220 | 155 | 88 | 160
after | 400 | 165 | 1255 | 180*
* - these UDP RX results show the received figures; the sent
figures are much higher since the host is sending so fast
it is overflowing the socket buffers in the guest
- Pushed it through a basic kvm-autotest run, to see if e.g. the
SIGCHLD handler had side-effects not thrown up by networking tests
- Confirmed that invalid parameter and hotplug errors are working as
expected after Jan's changes
- Basic testing of slirp redirs
- Basic testing of promisc, allmuti, mac table filtering etc. - Alex
clearly has tested this in more detail, though
- Attempted to test old->new virtio-net migrations (given the
version_id bumps), but virtio migration is still broken on HEAD
Pull request below.