Skip to content

Fix incomplete VirtualBox workaround#19

Draft
Bobo1239 wants to merge 11 commits intoemmericp:masterfrom
Bobo1239:ci-fix-vbox
Draft

Fix incomplete VirtualBox workaround#19
Bobo1239 wants to merge 11 commits intoemmericp:masterfrom
Bobo1239:ci-fix-vbox

Conversation

@Bobo1239
Copy link
Copy Markdown
Contributor

@Bobo1239 Bobo1239 commented Oct 8, 2019

This is just a rebase of the VirtualBox workaround branch onto my other PR. Also contains a commit to make the tx code more readable and fixes the rx code as that wasn't yet converted to chained descriptors (which made it non-functional with VirtualBox).

With these changes a simple pktgen -> pcap setup works as expected. (btw: the perf difference compared to KVM is nowadays "only" about 50% on my laptop)

Unfortunately, due to some strange bug between Vagrant and VirtualBox, you can't just use vagrant up to test this as the NATed primary network interface fails to connect properly. (at least that's the case with my machine) After trying out dozens of different Vagrant base boxes I resorted to manually setting up two VMs in VirtualBox to work on this.

Finally this PR isn't intended to be merged. You probably just want to squash this back into a single commit and force-push the virtualbox-workarounds once my other PR is merged.

Bobo1239 and others added 11 commits September 24, 2019 02:17
Certain VM setups filter out packets that do this which breaks our
example.
The descriptor size includes the net_hdr but isn't part of the data the
user receives.
Fixes the issue where packets were duplicated when the tx queue was
drained (e.g. by sleeping in pktgen between batches).
virtualbox does not support VIRTIO_F_ANY_LAYOUT making the code really
ugly.

also, it's super slow like factor 20 compared to to qemu-kvm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants