The CM itself only has so many IO - on the Pi4, the USB3 ports are attached to a PCIe USB3 controller. Since the IO board exposes that PCIe bus directly, they couldn't add USB3, or more ethernet ports on it. The whole point of having the IO board and the compute module is to expose all the available ports without compromise.
Since the IO board's PCBs are open source, you're free to design your own IO board with the ports you require. One could easily add an ethernet controller over PCIe to allow for 4 more gigabit ethernet ports, or USB3 ports...
It’s disappointing that there are no USB3 connectors on the IO board, but there’s a PCIe connector, so one can bring additional Ethernet interface(s) via a PCIe expansion card. The problem is the price, though. Once you get the compute module with 4GB RAM, and 8 GB mmc storage, the I/O board, the PCIe card, and the case, the price will be above $100.
I’ve just built an OpenWRT firewall based on the Raspberry Pi 4B with 4GB RAM, including case and a USB3 Gigabit Ethernet adapter and a metal case with passive cooling for $100. So, I don’t see any benefit of this Raspberry Pi compute module.
I am a fan of the modular approach. Of course, the IO Board is not optimal for OpenWRT. But Maybe someone use the reference design which is open and build a router io board. Maybe with ups...
Do you need more or less ram? Just buy the module you need...
Basically the pcie 2.0 x1 port will connect to 4x gigabit ports (4000Mbit/s for that interface). I think such a board would be cheap enough that paired with the compute module it would make for a great gigabit router under 50$. Like literally there isn't anything more required than 4 gigabit ports a micro - sd card reader, a fan connector and power jack. if Intel controllers are used this could give you great 1gig performance since the quad core arm v8 chip is very powerful in this one and the pi has tons of support. I don't think it will be long before we see something like this.
But then I tried also testing three interfaces and the Pi's built-in Ethernet... and noticed that I still only got about 3 Gbps! I tried different combinations, like three Intel interfaces and the onboard interface, two Intel interfaces and the onboard interface, and in every case, the maximum throughput was right around 3 Gbps.
I was actually looking at that yesterday. But then if you consider the cost of a board, Compute. Module, NIC, adapter cable, PSU, cases, SD card etc, you might s well just go for x86, and it won't be as messy and physically fragile.