Re: Ethernet Error Correction

Richard B. Johnson (root@chaos.analogic.com)
Tue, 25 Sep 2001 16:57:03 -0400 (EDT)


On Tue, 25 Sep 2001, Karel Kulhavy wrote:

> What about implementing an Ethernet error correction in Linux kernel?
>

Ethernet uses hardware error detection. Only good packets get through.
Therefore there is nothing that a driver in the kernel could do to
recover an otherwise errored packet because the packet doesn't exist.

> Does exist any standard that would normalize ethernet error correction? The
> situation is basically this:
>

As stated, there is no "error correction" on ethernet. Only detection
exists. The ethernet packet consists of a sync preamble, the destination
address, the source address, a packet length, some data, then a CRC.

If the hardware CRC doesn't match, the packet is dropped by hardware.

TCP/IP and other actual network stuff goes in the "data" area.


> Let's say I have two PC's, with ethernet NIC's. An atmospherical optical link
> (full duplex) is between them, connected via AUI. The optics goes crazy when
> there is a fog of course. But dropping a single bit in 1500 bytes makes a lot
> of mess. There is also unsused src and dest address (12 bytes) which is
> obvious and superfluous. What about kicking the address off and putting some
>
[SNIPPED...]

If ethernet is being used for the optical link, it's only because such
boards are cheap and drivers exist.

An optical link, built from scratch, uses the same transceivers used
for fiber. They don't use Ethernet. Then use TAXI and/or other
self-clocking serial protocols.

A PPP link doesn't use source and destination addresses as does
Ethernet. You could make a serial driver for your IR link and
use PPP on both ends to communicate. The PPP overhead is quite
low. Your link will be as fast as the underlying hardware.

Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips).

I was going to compile a list of innovations that could be
attributed to Microsoft. Once I realized that Ctrl-Alt-Del
was handled in the BIOS, I found that there aren't any.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/