I fail to see how this is different than virtual bridges (ie: brn interfaces in linux). Such interfaces exist within the host OS in a virtualized environment, support 802.1q trunks, and exhibit quite a lot of flexibility. They're also fast (they're faster than I've ever had need for, though I don't know exact numbers offhand). Am I missing something, or hasn't this been done before?