#ports/box or more accurately, #ports/rack unit & gigabits of throughput/rack unit.
The switching hardware is ASIC based and super optimized with CAM based switching on VLAN tags, destination addresses, etc. 1U switch could have 36 ports @ 1Gbps, and needs to switch 36Gbps within the switch, and perhaps 10Gbps upstream.
So line rate switching of 36Gbps+ in 1U, possible today only with ASICs, typically from Broadcom.
I was thinking you could have have "dumb box, many ports" and "smart box, few ports". Each cab needs one of the former, but you could get away with not many of the latter?
Cisco/Juniper boxes were smart, many ports, but smart only within each box. That is you had to configure each one individually. As in you could do static provisioning with a single tool across multiple boxes, but on the order of minutes between changes. If you had to create a VLAN with ten boxes, across 5 different racks, you would be spending quite a bit of time doing that, since you would need to find spare VLANs that are unused across the fabric, configure all the switches in between, etc.
Now with OpenFlow, all the switches are controlled by the central controller. And flow configuration is dynamic - ie you don't need to fiddle with individual configs, when the flows start, the controller is queried, and if there's an appropriate flow setup on the controller, it will be implemented, with local free VLANs, etc.
Basically the entire fabric becomes as dynamic & smart as the controller, instead of each switch being smart and static.
The switching hardware is ASIC based and super optimized with CAM based switching on VLAN tags, destination addresses, etc. 1U switch could have 36 ports @ 1Gbps, and needs to switch 36Gbps within the switch, and perhaps 10Gbps upstream.
So line rate switching of 36Gbps+ in 1U, possible today only with ASICs, typically from Broadcom.