Is CPU or ASIC responsible for forwarding?

I received the question below from reader Ned as a comment on my 24-port ASIC post and thought that the discussion was worth a post of it’s own.

…Would you be able to speak a bit about the actual physical path or packet flow a packet takes inside the switch itself and how does the hardware forwarding take place within the switch and asic. When does packet get sent to the Asic. Is it happen on ingress or on egress? When does packet get analyzed by CPU or control plane. If the CPU never sees the actual packet how does asic know where to forward the packet and does that mean the packets stay within asic itself and is that what is meant to be hardware forwarding. Is Asic = dataplane. Tx

I like this question because it captures a lot of my early assumptions and concerns about data and control plane separation. My response assumes a single-stage modern switch-on-chip ASIC without backplane or fabric.  Continue reading

Build a 48-port switch using a 24-port ASIC

By LiveWireInnovation (Own work) [CC-BY-SA-3.0 (], via Wikimedia Commons

By LiveWireInnovation (Own work) [CC-BY-SA-3.0 (], via Wikimedia Commons

Modern top-of-rack switches (or TORs) run at line rate and are non-oversubscribed. This means you get non-blocking [1] port-to-port throughput within the switch ASIC at the line rate of the front panel ports. Almost all TOR switches use a single switch ASIC and the industry demanded port-density on a single ASIC, and the manufacturers delivered. The list below shows the 10Gbps port density evolution of the Broadcom StrataXGS product line. The Intel Fulcrum ASIC evolution isn’t shown here but looks very similar.


  • Scorpion:  24 x 10Gbps
  • Trident:  48 x 10Gbps
  • Trident+:  64 x 10Gbps
  • Trident2:  108 x 10Gbps (108 x 10G MACs – can handle 1.2Tbps using some ports at 40G). Continue reading