In tangentially-related news, there was a lot of talk at NetDev about switchdev, a new Linux driver model for hardware-offload switching hardware.
It allows the kernel's Layer-2 and Layer-3 switching/routing configuration to be reflected down into the switch offload hardware, and the switch's ARP and MAC table data to be reflected back up to the kernel stack.
The overall idea being you can continue to use the same userspace tools to configure the routing/switching, and it all just magically goes faster if you have supported switching hardware.