Modern kernel?
In the case of a standalone machine running IPFire... then you have modern hardware support, especially the all important NIC support for integrated mobos. In this case (VM environment)... baked in Virtio support that works very well. I've tried many different router distros under Hyper-V and Proxmox, and none of them would work properly, at all, or reliably with native drivers. If I used emulated drivers I would max out their bandwidth capabilities at 15-20Mb/s. Since I have a 30Mb/s fiber connection to the home, I wanted to take full advantage of that full upstream and downstream speed.
IPFire got me close on Hyper-V with their baked in "Integrated Services" driver for Hyper-V... bandwidth was a full 30Mb/s for me but during the speed tests when the pipeline was maxed out, it would sometimes lock up the VM. It worked fine under normal usage, but in extreme cases it was not really reliable.
So I then tried IPFire under Proxmox with Virtio support and had very little manual tweaking to do other than starting the install with emulated drivers, and then adding in the Virtio NICs afterwards. Then run through the basic setup again to use the Virtio NICs. It got me full use of my bandwidth with very little (max 12% on the virtual CPU) CPU usage. And this is on a AMD X4 620. It runs just as reliable as my old Smoothwall and pfSense standalone boxes.
Most importantly, it allowed me to consolidate my stand-alone linux router box into my virtual platform, eliminating another power sink. Plus the ability to backup and restore the router through Proxmox's backup capabilites in case of catastrophies.
IPFire has some nice features, and good add-on abilites, which I don't use... as I am a firm believer in one task per VM. But since we have the ability of play around in virtual environments, IPFire could serve other functions within your virtual LAN or production LAN.