Performance of tunneling methods in OpenWRT

WR841Nv9There are plenty of reasons to tunnel one network connection through another without encryption: You might, for instance, want to transparently connect two separate networks (e.g. data centers) through another, or want to use a publicly reachable IP address behind your providers NAT. Whatever the reason is, what you are going to do is to encapsulate your data within IP packets to pass through the transit network to your other tunnel endpoint. While it is out of question that this works (this has been a solved problem for a while), this article will look at the performance of various tunneling methods on a very, very low-end consumer-grade device: A TP-Link WR841N v9 wireless router. This device costs less than €15 and is still a very capable router because it can run the versatile open-source OpenWRT operating system.

Continue reading

Enable experimental nested virtualization in Citrix XenServer 6.5 (SP1)

Simply put: Nested virtualization allows a virtual machine (VM) to be a host for further VMs. If you wanted to run VMware inside a VM, you would need this feature. But you would also do well to consider it if you were developing Android apps inside a VM and wanted to use the Android Emulator with hardware acceleration (= virtualization). Continue reading

Enable passthrough of main/primary GPU in XenServer 6.5SP1

In its default config XenServer 6.5 will not permit you to use your host server’s primary GPU in a VM as a passthrough device. That’s reasonable in most cases, as reusing this GPU leaves the dom0 without output. However, passing through the device works nonetheless in many cases – your mileage may vary.

To convince XenServer to let you freely assign the GPU to VMs add this line to the file /etc/udev/rules.d/05-udev-early.rules:

KERNEL=="vga_arbiter", OPTIONS="ignore_device"

Reboot the server, that’s it.

No sound on Ubuntu Linux: “cannot open mixer: No such file or directory” (solved)

I had trouble getting audio to work on a Ubuntu 15.04 system with Intel chipset audio (Intel Corporation 9 Series Chipset Family HD Audio Controller). Trying to run the ALSA mixer would look like this:

$ alsamixer
cannot open mixer: No such file or directory

The fix was to edit /etc/modprobe.d/alsa-base.conf at the very end of the file (changes bold):

# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=0
options snd-hda-intel index=-2

I modified the index value for the snd-usb-audio module to zero and added a line for the snd-hda-intel module. Afterwards the mixer would start as expected.