QEMU and point-to-point link between VMs without bridge

Yuri asked:

The most common practice to connect VMs together is to use tap interfaces with the bridge between them. On a linux, bridge driver filters some classes of link-local multicast traffic, such as LACP frames. There is no easy mechanism to permit forwarding of LACP frames across the bridge interface and it requires manual patching of the bridge module code.

I would like to use LACP in my test network between the VMs without manual patching of linux bridge code on the host machine, there is no requirement to have connectivity between host and the VM.

I identified two potential solutions

  1. socket p2p option – but it is TCP based and I have concerns about
    TCP over TCP performance;
  2. hub – this option seems to go away very soon

What is a simplest possible solution for my need?

My answer:

If you have a recent (2.6.31+) kernel, you should be able to use ebtables to forward LACP frames across a Linux bridge, provided STP is disabled on the bridge.

brctl stp virbr0 off

ebtables -I INPUT -p 0x8809 -j ACCEPT
ebtables -I FORWARD -p 0x8809 -j ACCEPT

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.