One of the changes in the Pi4 that I was really excited about was the much higher performance of the Ethernet and USB3 ports. I set up my Pi4 as a router and did some testing.
I set up the following configuration:
x86 Box <----> GB Switch <---> Pi4 Dongle [Pi4] Ethernet <---> GB Switch <---> NFS server
I plugged an SSD into a Pi4 USB 3.0 port so that the slow SD card would not be a limiting factor for testing.
First I tested the speed of the Ethernet and the USB 3.0 GB Ethernet dongle (Cable Matters, if it matters ) using the above configuration. The Pi4 hardwired Ethernet generally got about 920Mb/sec in my tests (copying a large ISO from an NFS share). The Ethernet dongle was a bit slower, clocking in at about 880Mb. I suppose part of the performance dropoff for the dongle could be due to it and the SSD both being on USB 3 ports, but it's still quite good!
Next I set up iptables to enable routing, and enabled IP forwarding:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
I haven't done exhaustive testing, but I'm seeing about 550Mb/sec through the Pi4 as router. I was a bit surprised, since this is a fairly large drop from the measured raw port capabilities.
Has anyone else done any similar testing with a P4? Is there any Raspbian tuning that I could be looking at to bring up the router throughput?