RE: TOE brain dump
From: David Schwartz <hidden>
Date: 2003-08-06 21:13:52
Also in:
lkml
This statement is completely false. Ethernet switches *do* read the packet into memory before starting transmission.
Some do. Some don't. Some are configurable.
This must be so, because an Ethernet switch does not propagate runts, jabber frames, or frames with an incorrect ethernet crc.
If they use cut-through switching, they do. Some use adaptive switching, which means they use cut-through switching but change to store and forward if there are too many runts, jabber frames, bad CRCs, and so on. Obviously, you can't always do a cut-through. If the target port is busy, cut-through is impossible. If the ports are different speeds, cut-through is impossible. The Intel 510T switch for my home network does adaptive switching with configurable error thresholds. In fact, it's even smarter than that, with an intermediate mode that suppresses runts without doing a full store and forward. See: http://www.intel.com/support/express/switches/23188.htm
If the switch starts transmission before it's received the last bit, it is provably impossible for it to avoid propagating crc-failing-frames; ergo, switches must have the entire packet on hand before starting transmission.
Except not all switches always avoid propogating bad frames. DS