mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Matti Aarnio <matti.aarnio@zmailer.org>
To: Karel Kulhavy <clock@atrey.karlin.mff.cuni.cz>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Ethernet Error Correction
Date: Wed, 26 Sep 2001 00:43:45 +0300	[thread overview]
Message-ID: <20010926004345.D11046@mea-ext.zmailer.org> (raw)
In-Reply-To: <20010925223437.A21831@atrey.karlin.mff.cuni.cz>
In-Reply-To: <20010925223437.A21831@atrey.karlin.mff.cuni.cz>; from clock@atrey.karlin.mff.cuni.cz on Tue, Sep 25, 2001 at 10:34:37PM +0200

On Tue, Sep 25, 2001 at 10:34:37PM +0200, Karel Kulhavy wrote:
> What about implementing an Ethernet error correction in Linux kernel?

	Wrong layer.

	Ok, IF you run it at physical interfaces, then yes, maybe.

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

	No, It is very hardware specific.
 
> 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.

	MAC-level addresses ?  Right.

> What about kicking the address off and putting some error correction codes
> (like Hamming) into it and putting the cards into promisc mode?

	You will need a lot more than 12 octet of hamming code
	in that link for a 1500 octet frame.  The 12 octets might
        barely be enough to tell that a bit has flipped.

	Also, generic PROMISC mode still drops off received frames
	with CRC error.

	Being able to send larger frames, say 2000 - 3000 octets,
	might help more.  That enables doing heavy duty FEC.
	Essentially Reed-Solomon.

	Being able to receive those frames is a requirement, as
	well as being able to receive damaged frames.

	Loosing frame start might not be recoverable at this
	level, though.

> It would make the link work on bigger distance and on thicker mist.
> We could even dynamically change the ECC/data ratio for example with
> Reed Solomon Codes. Ethernet modulation is strong gainst sync dropouts
> so the bits usually remain their place, just some of them happen to flip.
> We could also kick the "lenght" field because end of packet is recognized
> by a pulse longer than 200ns, not neither by ECC nor by the length
> (am I right?).

	You mean the  length/type  field ?

	Better would be to use FEC hardware plugged into the AUI
	port.  Buffering/rate adaptation are also an issue.
	That is, Ethernet card sends the data at nominal rate of
	10 Mbps, but FEC processing adds another set of data on
	the link essentially doubling the data to be sent.
	Now there is a problem of sending generated 20 Mbps
	datastream thru final 10 Mbps optical link.

	Not a trivial thing at all.

	Perhaps modifying the interface card to use halved
	frequency chrystal at the interface cards, and then
	full speed at FEC output.

> Is anybody eager to implement this into the kernel? How would it be done
> at all? I have personally no idea.

	No.  Silicon is cheap and available.
	Furthermore, I see no real advantage at this when compared
	with e.g. 2 Mbps 802.11 radiolink at 2.4 GHz.  Use there
	the nominal 20-100 mW power, and good directional antennas.

	That hardware is half-duplex, but you can have a pair working
	at different frequencies.

	Instead of using standard spreading sequences, use something
	else -- the art of finding those is quite demanding.  Those
	sequences must be such that they have maximum code-distance
	from standard codes, and simultaneously fulfill the primarility
	condition of the sequence -- it must have long period.

	The IEEE 802.11 standard covers this quite well.


	The radio approach is equally complicated as is making
	special interface cards speaking with silicon FEC out
	from an AUI port.


> Clock

/Matti Aarnio

  parent reply	other threads:[~2001-09-25 21:43 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-25 20:34 Karel Kulhavy
2001-09-25 20:57 ` Richard B. Johnson
2001-09-25 21:19   ` Ben Greear
2001-09-26 12:37     ` Richard B. Johnson
2001-09-25 21:43 ` Matti Aarnio [this message]
2001-09-27 14:22   ` Pavel Machek
2001-10-02  9:29     ` Vojtech Pavlik
2001-10-02  9:48       ` Pavel Machek
2001-10-02  9:55         ` Vojtech Pavlik
2001-10-04 21:34           ` Rob Landley
2001-10-02  9:56         ` Matti Aarnio
2001-09-26 16:51 ` Alan Cox
2001-09-27  5:26 ` Albert D. Cahalan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010926004345.D11046@mea-ext.zmailer.org \
    --to=matti.aarnio@zmailer.org \
    --cc=clock@atrey.karlin.mff.cuni.cz \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®