With the new servers and my server room shaping up, I’ve been working on setting up ALL THE THINGS! I just managed to set up live migration of the KVM virtual machines I use for testing my FLOSS projects. Here is a short writeup of that, just as a reminder for myself.


  1. Make sure the libvirt/virt-manager versions are the same. I tried setting migration between CentOS 7.2 and and Ubuntu LTS 16.04 which turned out to be a mess of incompatibilities. I now run Ubuntu on the servers as well and everything interoperates fine.
  2. Set up NFS for the backend store of /var/lib/libvirt/images. Make sure to export the share properly, I tried first with my ReadyNAS, but couldn’t set up root access (defaulted to nobody).
  3. Set up VM disk caching=none
  4. Set up VM processor model=default
  5. Profit

Godd Luck! :)

The other day I got my geeky hands on two old SuperMicro X8STI-F 1U servers. I plan to use them as build and embedded target emulation servers for my open source projects as well as Minecraft server for my kids :)

GRE tunnels are useful in many ways. This blog post shows how to set up multicast routing with pimd over a GRE tunnel. To achieve this we will also set up OSPF over GRE with Quagga, because PIM, unlike DVMRP (mrouted), require unicast routing rules to be established.

        .----{ Intranet }----.
       /    \
      /                        \
 .10 /                          \.20
 +--'---+.1   GRE Tunnel   .2+---`--+
 |      |====================|      |
 |  R1  |   |  R2  |
 |      |                    |      |
 +--.---+                    +------+
    | .1                        | .1 
    |            |
    | .2                        | .2 
 +--'---+                    +--'---+
 |      |                    |      |
 |  C1  |                    |  C2  |
 |      |                    |      |
 +------+                    +------+

In this post we are using the home WiFi network,, to hook up the GRE tunnel. It is just as easy to extend this to a big corporate Intranet with more routers between R1 and R2. As long as that IT department takes care of the unicast routing between R1 and R2 so that the GRE tunnel can be established.

This is a very brief writeup of how to upgrade the BIOS on a X1 Carbon (G1) from Linux. For more information on this topic there is always the excellent ThinkWiki.

Recently I needed a simple TCP/UDP port redirector and stumbled upon this Stackoverflow post. As usual I wasn’t first wanting to this without using iptables.

There were several alternatives, but since my target was embedded with limited amount of RAM and flash I wanted something really small. So the best fit turned out to be redir, which unfortunately only could handle TCP connections. This is what led me to write uredir to complement redir. Eventually I ended up adoptiing redir as well, which meant giving it a bit of a facelift and to give them both the same look and feel.

Currently they are two separate applications, which in some use-cases can be beneficial (small size), but I may in the future transplant the UDP functionality of uredir into redir. We’ll see, right now though I have several other projects to attend to :-)