With a Type-1 hypervisor on a box with an IOMMU, different VMs can serve as router, NAS, desktop and personal cloud. Router and NAS VMs would have dedicated PCI devices, the rest can be virtual. Easy to try different router distros.
This is similar to what I do. I run Debian as the host machine and then have guests running on QEMU/KVM. I don't use IOMMU, I simply create a bridge on each physical ethernet. This allows me to add other "router/vm" on the WAN side and play with some additional isolated "networks".
Same, but I'm using Open vSwitch[0] to tag internet traffic which goes to the router VM. I was using IOMMU but on non-Intel NICs the interupts were killing the throughput in OpenBSD.